次のようなクラスがあるとします。
public class Foo {
private Bar bar;
public Foo(Bar bar) {
this.bar = bar;
}
public void someMethod() {
bar.someOtherMethod();
}
}
someMethod() が呼び出されたときに bar.someOtherMethod() が1回呼び出されることを確認するにはどうすればよいですか? 私のテストでは、モックされた Bar クラスをコンストラクターに渡しています。
私のテストは次のようになります。
private Bar bar;
private Foo foo;
@Before
public void setUp() throws Exception {
bar = mock(Bar.class);
foo = new Foo(bar);
}
@Test
public void testSomeMethod() {
foo.someMethod();
verify(Bar).someOtherMethod();
}