Mockito verify order / sequence of method calls

java, mockito, unit-testing

Solution

`InOrder` helps you to do that.

ServiceClassA firstMock = mock(ServiceClassA.class);
ServiceClassB secondMock = mock(ServiceClassB.class);

Mockito.doNothing().when(firstMock).methodOne();   
Mockito.doNothing().when(secondMock).methodTwo();  

//create inOrder object passing any mocks that need to be verified in order
InOrder inOrder = inOrder(firstMock, secondMock);

//following will make sure that firstMock was called before secondMock
inOrder.verify(firstMock).methodOne();
inOrder.verify(secondMock).methodTwo();

Problem

Is there a way to verify if a `methodOne` is called before `methodTwo` in Mockito? ``` public class ServiceClassA { public void methodOne(){} } public class ServiceClassB { public void methodTwo(){} } ``` ``` public class TestClass { public void method(){ ServiceClassA serviceA = new ServiceClassA(); ServiceClassB serviceB = new ServiceClassB(); serviceA.methodOne(); serviceB.methodTwo(); } } ```

Original source

Related problems