public interface InOrder
InOrder inOrder = inOrder(firstMock, secondMock);
inOrder.verify(firstMock).add("was called first");
inOrder.verify(secondMock).add("was called second");
As of Mockito 1.8.4 you can verifyNoMoreInvocations() in order-sensitive way. Read more: verifyNoMoreInteractions()
See examples in javadoc for Mockito class
| Modifier and Type | Method and Description |
|---|---|
<T> T |
verify(T mock)
Verifies interaction happened once in order.
|
<T> T |
verify(T mock,
VerificationMode mode)
Verifies interaction in order.
|
void |
verifyNoMoreInteractions()
Verifies that no more interactions happened in order.
|
<T> T verify(T mock)
Alias to inOrder.verify(mock, times(1))
Example:
InOrder inOrder = inOrder(firstMock, secondMock);
inOrder.verify(firstMock).someMethod("was called first");
inOrder.verify(secondMock).someMethod("was called second");
See examples in javadoc for Mockito classmock - to be verified<T> T verify(T mock,
VerificationMode mode)
InOrder inOrder = inOrder(firstMock, secondMock);
inOrder.verify(firstMock, times(2)).someMethod("was called first two times");
inOrder.verify(secondMock, atLeastOnce()).someMethod("was called second at least once");
See examples in javadoc for Mockito classmock - to be verifiedmode - for example times(x) or atLeastOnce()void verifyNoMoreInteractions()
Mockito.verifyNoMoreInteractions(Object...) because the order of verification matters.
Example:
mock.foo(); //1st mock.bar(); //2nd mock.baz(); //3rd InOrder inOrder = inOrder(mock); inOrder.verify(mock).bar(); //2n inOrder.verify(mock).baz(); //3rd (last method) //passes because there are no more interactions after last method: inOrder.verifyNoMoreInteractions(); //however this fails because 1st method was not verified: Mockito.verifyNoMoreInteractions(mock);
Copyright © 2018. All rights reserved.