public interface InOrder
Allows verification in order. E.g:
// Given
First firstMock = mock(First.class);
Second secondMock = mock(Second.class);
InOrder inOrder = inOrder(firstMock, secondMock);
// When
firstMock.add("was called first");
secondMock.add("was called second");
// Then
inOrder.verify(firstMock).add("was called first");
inOrder.verify(secondMock).add("was called second");
inOrder.verifyNoMoreInteractions();
Static mocks can be verified alongside non-static mocks. E.g:
// Given
First firstMock = mock(First.class);
MockedStatic staticSecondMock = mockStatic(StaticSecond.class);
InOrder inOrder = inOrder(firstMock, StaticSecond.class);
// When
firstMock.add("was called first");
StaticSecond.doSomething("foobar");
// Then
inOrder.verify(firstMock).add("was called first");
inOrder.verify(staticSecondMock, () -> StaticSecond.doSomething("foobar"));
inOrder.verifyNoMoreInteractions();
As of Mockito 1.8.4 you can verifyNoMoreInteractions() in order-sensitive way. Read more:
verifyNoMoreInteractions().
See examples in javadoc for Mockito class
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidverify(MockedStatic<?> mockedStatic, MockedStatic.Verification verification) Verifies static interaction in order, with exactly one number of invocations.voidverify(MockedStatic<?> mockedStatic, MockedStatic.Verification verification, VerificationMode mode) Verifies static interaction in order.<T> Tverify(T mock) Verifies interaction happened once in order.<T> Tverify(T mock, VerificationMode mode) Verifies interaction in order.voidVerifies that no more interactions happened in order.
-
Method Details
-
verify
<T> T verify(T mock) Verifies interaction happened once in order.Alias to
inOrder.verify(mock, times(1))Example:
See examples in javadoc forInOrder inOrder = inOrder(firstMock, secondMock); inOrder.verify(firstMock).someMethod("was called first"); inOrder.verify(secondMock).someMethod("was called second");Mockitoclass- Parameters:
mock- to be verified- Returns:
- mock object itself
-
verify
Verifies interaction in order. E.g:
See examples in javadoc forInOrder 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");Mockitoclass- Parameters:
mock- to be verifiedmode- for example times(x) or atLeastOnce()- Returns:
- mock object itself
-
verify
Verifies static interaction in order, with exactly one number of invocations.- See Also:
-
verify
void verify(MockedStatic<?> mockedStatic, MockedStatic.Verification verification, VerificationMode mode) Verifies static interaction in order. E.g:try (MockedStaticmocked = mockStatic(Foo.class)) { InOrder inOrder = inOrder(Foo.class); mocked.when(Foo::firstMethod).thenReturn("first"); mocked.when(Foo::secondMethod).thenReturn("second"); assertEquals("first", Foo.firstMethod()); assertEquals("second", Foo.secondMethod()); inOrder.verify(mocked, Foo::firstMethod, times(1)); inOrder.verify(mocked, Foo::secondMethod, atLeastOnce()); } - Parameters:
mockedStatic- static mock to be verifiedverification- verification to be verifiedmode- for example times(x) or atLeastOnce()
-
verifyNoMoreInteractions
void verifyNoMoreInteractions()Verifies that no more interactions happened in order. Different fromMockito.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);
-