mockito
Sprawdź wywołania metod
Szukaj…
Prosta weryfikacja wywołania metody
Mockito.verify()
pomocą Mockito.verify()
można sprawdzić, czy metoda została wywołana na 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);
Sprawdź kolejność połączeń
W niektórych przypadkach może nie wystarczyć wiedza, czy wywołano więcej niż jedną metodę. Ważna jest także kolejność wywoływania metod. W takim przypadku można użyć InOrder
klasę Mockito
zweryfikować kolejność metod.
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()
działa tak samo jak Mockito.verify()
wszystkich innych aspektach.
Sprawdź argumenty wywołania za pomocą ArgumentCaptor
ArgumentCaptor
będzie odbierał rzeczywiste argumenty wywołania przekazane do metody.
ArgumentCaptor<Foo> captor = ArgumentCaptor.forClass(Foo.class);
verify(mockObj).doSomethind(captor.capture());
Foo invocationArg = captor.getValue();
//do any assertions on invocationArg
W przypadku wielu wywołań fałszywej metody, aby otrzymać wszystkie argumenty wywołania
List<Foo> invocationArgs = captor.getAllValues();
To samo podejście stosuje się do przechwytywania varargs.
Istnieje również możliwość utworzenia ArgumentCaptor
za pomocą adnotacji @Captor
:
@Captor
private ArgumentCaptor<Foo> captor;
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow