Я хотел бы проверить, что метод был вызван с определенным параметром, используя mockito.проверка mockito MethodInvocation
I мой код, каждый раз, когда вызывается 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, чтобы быть уверенными, что метод Invoke() был вызван с правом параметра? Этот метод вызова должен содержать информацию о методе someCommand().
Две вещи, чтобы отметить. Во-первых, вам не нужно писать 'times (1)', так как это режим проверки по умолчанию для Mockito. Достаточно написать 'verify (mockedMethodInterceptor) .invoke (expectedInvocation);' Во-вторых, имейте в виду, что метод 'equals' будет использоваться для сравнения« expectedInvocation »с реальным вызовом, который возникает при запуске теста. –