mockito를 사용하여 특정 매개 변수로 해당 메서드가 호출되었는지 확인하고 싶습니다.mockito checking MethodInvocation
내 코드 unit.permission().someCommand()
이 호출 될 때마다 intercetor의 invoke
메서드가 호출됩니다. invoke
방법은 다음과 같습니다
void invoke(MethodInvocation methodInvocation) ..
이것은 내가 그 인터셉터의 메소드가 호출 된 확인 테스트입니다.
@Test
public void permission() throws Throwable {
unit.permission().someCommand();
verify(mockedMethodInterceptor, times(1)).invoke(any(MethodInvocation.class));
}
이 테스트에서는 알 수 있듯이, MethodInvocation의 인스턴스를 사용합니다.
질문 :
그 호출() 메소드를 잘 작성 매개 변수를 사용하여 호출해야하는 특정 MethodInvocation을 인스턴스에 확인할 수있는 방법이 있나요? 이 호출 메소드는 someCommand() 메소드에 대한 정보를 보유해야합니다.
두 가지 유의 사항. 첫째, Mockito의 기본 확인 모드이므로'times (1)'을 쓸 필요가 없습니다. 'verify (mockedMethodInterceptor) .invoke (expectedInvocation);'라고 쓰면 충분합니다. 둘째로,'expectedInvocation'을 테스트를 실행할 때 발생하는 실제 호출과 비교하기 위해'equals' 메쏘드가 사용된다는 것을 명심하십시오. –