オブジェクトの依存関係でメソッドが呼び出されていないことを確認するにはどうすればよいですか?
例えば:
public interface Dependency {
void someMethod();
}
public class Foo {
public bar(final Dependency d) {
...
}
}
Fooテストでは:
public class FooTest {
@Test
public void dependencyIsNotCalled() {
final Foo foo = new Foo(...);
final Dependency dependency = mock(Dependency.class);
foo.bar(dependency);
**// verify here that someMethod was not called??**
}
}
never
が最善かつ最も具体的な方法ですが、モックオブジェクト全体をチェックする必要がある場合は、verifyZeroInteractions(mockObject)
またはも検討してくださいverifyNoMoreInteractions(mockObject)
。