mockito
Vérifier les appels de méthode
Recherche…
Vérification simple de l'appel de méthode
On peut vérifier si une méthode a été appelée sur un simulacre en utilisant Mockito.verify()
.
Original mock = Mockito.mock(Original.class);
String param1 = "Expected param value";
int param2 = 100; // Expected param value
//Do something with mock
//Verify if mock was used properly
Mockito.verify(mock).method();
Mockito.verify(mock).methodWithParameters(param1, param2);
Vérifier l'ordre des appels
Dans certains cas, il peut ne pas suffire de savoir si plusieurs méthodes ont été appelées. L'ordre d'appel des méthodes est également important. Dans ce cas , vous pouvez utiliser InOrder
classe de Mockito
pour vérifier l'ordre des méthodes.
SomeClass mock1 = Mockito.mock(SomeClass.class);
otherClass mock2 = Mockito.mock(OtherClass.class);
// Do something with mocks
InOrder order = Mockito.inOrder(mock1, mock2)
order.verify(mock2).firstMethod();
order.verify(mock1).otherMethod(withParam);
order.verify(mock2).secondMethod(withParam1, withParam2);
InOrder.verify()
fonctionne comme Mockito.verify()
tous les autres aspects.
Vérifier les arguments d'appel à l'aide d'ArgumentCaptor
ArgumentCaptor
va recevoir les arguments d'appel réels passés à la méthode.
ArgumentCaptor<Foo> captor = ArgumentCaptor.forClass(Foo.class);
verify(mockObj).doSomethind(captor.capture());
Foo invocationArg = captor.getValue();
//do any assertions on invocationArg
Pour les cas d'appels multiples de méthode simulée pour recevoir tous les arguments d'appel
List<Foo> invocationArgs = captor.getAllValues();
La même approche est utilisée pour capturer varargs.
Il est également possible de créer ArgumentCaptor
aide de l'annotation @Captor
:
@Captor
private ArgumentCaptor<Foo> captor;
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow