Sunday, 3 September 2017

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

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...