org.mockito
Interface InOrder

All Known Implementing Classes:
InOrderImpl

public interface InOrder

Allows verification in order. E.g:

 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


Method Summary
<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.
 

Method Detail

verify

<T> T verify(T mock)
Verifies interaction happened once in order.

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 class

Parameters:
mock - to be verified
Returns:
mock object itself

verify

<T> T verify(T mock,
             VerificationMode mode)
Verifies interaction in order. E.g:
 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 class

Parameters:
mock - to be verified
mode - for example times(x) or atLeastOnce()
Returns:
mock object itself

verifyNoMoreInteractions

void verifyNoMoreInteractions()
Verifies that no more interactions happened in order. Different from 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);