Monday 28 November 2016

java - How to verify that a specific method was not called using Mockito?



How to verify that a method is not called on an object's dependency?



For example:




public interface Dependency {
void someMethod();
}

public class Foo {
public bar(final Dependency d) {
...
}
}



With the Foo test:



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??**
}
}

Answer



Even more meaningful :



import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;


// ...

verify(dependency, never()).someMethod();


The documentation of this feature is there §4 "Verifying exact number of invocations / at least x / never", and the never javadoc is here.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...