オブジェクトの依存関係でメソッドが呼び出されていないことを検証するにはどうすればよいですか?
例えば:
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??**
}
}
ベストアンサー1
さらに意味深いのは:
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
// ...
verify(dependency, never()).someMethod();
この機能のドキュメントはここにあります§4 「呼び出し回数の正確な検証 / 少なくとも x 回 / 決して」、never
Javadocはここ。