InOrder
Uso de InOrder permite validar el orden en el que se ejecutan las llamadas a los distintos objetos doble (mock).
@Mock Repository someRepository; @Mock Repository someOtherRepository; @Test public void testSomething() { InOrder order = Mockito.inOrder(someRepository, someOtherRepository); order.verify(someRepository).save(anyString()); order.verify(someOtherRepository).findByName(anyString()); order.verify(repository).update(anyString()); order.verifyNoMoreInteractions(); }
ArgumentCaptor
Uso de ArgumentCaptor permite capturar los argumentos que recibe una llamada a una objeto doble (mock).
@Mock Repository mockRepository; @Test public void testSomething() { service.useCase("some_string"); ArgumentCaptor<String> argument = ArgumentCaptor.forClass(String.class); verify(mockRepository).findByName(argument.capture()); assertEquals("some_string", argument.getValue()); }