0
static class Foo {
public void bar(int i) {}
}
@Test
public void foo() {
Foo f = Mockito.spy(new Foo());
f.bar(42);
Mockito.verify(f, Mockito.times(1)).bar(42);
f.bar(42);
Mockito.verify(f, Mockito.times(1)).bar(42);
}
は、最後の行でorg.mockito.exceptions.verification.TooManyActualInvocations
(1回は必要でしたが、2でした)を返します。デバッグでそれを実行すると、InvocationMatcher
は最初の呼び出しがすでに検証されているという事実は無視されます。そしてそれはマッチャーが正確にbar
に渡される魔女に依存しません。私は何か間違っているのですか、それともMockitoのバグですか?Mockitoはすでに検証済みの呼び出しを検証します
なぜ2つの異なるテストケースでそれを分離しないのですか? –
[メソッドの検証方法はmockito verify()で2回呼び出されます(http://stackoverflow.com/questions/14889951/how-to-verify-a-method-is-called-two-times -with-mockito-verify) – Joe
@Joe OPが同じメソッドを2回検証しているので重複していないと思います。あなたは最初の検証呼び出しの後にfをリセットしようとしましたか? 'Mockito.reset(f)'? – troig