1

オブジェクトを呼び出すと、そのオブジェクトが初めて呼び出さbar()れると仮定します。言い換えると、Foobaz()Waldo

Foo foo = new Foo();
foo.setWaldo(new Waldo());
foo.bar(); // This calls baz() on the Waldo.
foo.bar(); // This should not call baz() on the Waldo.

baz()これは私が現時点で呼び出しを確認する方法です。

Foo foo = new Foo();
Waldo waldo = mock(Waldo.class);
foo.setWaldo(waldo);
foo.bar();
foo.bar();
verify(waldo).baz();

baz()これの問題は、いつ呼び出されたかを確認できないことです。baz()これは、2回目に呼び出された場合でもパスを取得しfoo.bar()ます。

Mockitoでこれを適切に検証するにはどうすればよいですか?

4

1 に答える 1

4
Foo foo = new Foo();
Waldo waldo = mock(Waldo.class);
foo.setWaldo(waldo);
foo.bar();
verify(waldo).baz();
foo.bar();
verifyNoMoreInteractions(waldo);
于 2012-09-15T06:20:23.387 に答える