Làm thế nào để xác minh rằng một phương thức không được gọi vào sự phụ thuộc của đối tượng?
Ví dụ:
public interface Dependency {
void someMethod();
}
public class Foo {
public bar(final Dependency d) {
...
}
}
Với bài kiểm tra 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
là cách tốt nhất và cụ thể nhất, nhưng nếu bạn cần kiểm tra toàn bộ một đối tượng giả, cũng xem xétverifyZeroInteractions(mockObject)
hoặcverifyNoMoreInteractions(mockObject)
.