[英]expectations on all instances on JMockit
我期待 JMockit 對所有實例設定期望。 但是,當我將構造函數期望添加到組合中時,這不起作用。
class Foo {
Foo(int i) {}
void foo() {}
}
@Test
public void expectationsOnAllInstances__Works(@Mocked Foo foo) {
new Expectations() {{
foo.foo();
}};
new Foo(3).foo();
}
@Test
public void expectationsOnAllInstances__DoesntWork(@Mocked Foo foo) {
new Expectations() {{
new Foo(3); // <==== this constructor expectation messes things up ...
foo.foo();
}};
new Foo(3).foo();
}
第二次測試失敗並出現錯誤:
Missing 1 invocation to:
Foo#foo()
on mock instance: Foo@617faa95
instead got:
Foo#foo()
on mock instance: Foo@1e127982
JMockit 1.48
謝謝!
好吧, expectationsOnAllInstances__DoesntWork
測試在記錄和重放的期望之間是不一致的......
您真正想要的是其他兩個版本之一:
@Test
public void expectationsOnAllInstances_consistent1(@Mocked Foo foo) {
new Expectations() {{
new Foo(3).foo();
}};
new Foo(3).foo();
}
@Test
public void expectationsOnAllInstances_consistent2(@Mocked Foo foo) {
new Expectations() {{
new Foo(3);
foo.foo();
}};
new Foo(3);
foo.foo();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.