mockito
메서드 호출 확인
수색…
간단한 메소드 호출 검증
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);
통화 순서 확인
어떤 경우에는 하나 이상의 메소드가 호출되었는지 여부를 아는 것만으로는 충분하지 않을 수도 있습니다. 메서드 호출 순서도 중요합니다. 이 경우 InOrder
클래스의 Mockito
를 사용하여 메서드의 순서를 확인할 수 있습니다.
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()
와 같은 작동 Mockito.verify()
다른 모든 측면.
ArgumentCaptor를 사용하여 호출 인수 확인
ArgumentCaptor
는 메소드에 전달 된 실제 호출 인수를 수신합니다.
ArgumentCaptor<Foo> captor = ArgumentCaptor.forClass(Foo.class);
verify(mockObj).doSomethind(captor.capture());
Foo invocationArg = captor.getValue();
//do any assertions on invocationArg
모든 호출 인수를 받기위한 조롱 된 메소드의 다중 호출의 경우
List<Foo> invocationArgs = captor.getAllValues();
동일한 접근법이 가변 인수 캡처에 사용됩니다.
또한 @Captor
주석을 사용하여 ArgumentCaptor
를 만들 수도 있습니다.
@Captor
private ArgumentCaptor<Foo> captor;
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow