0
我想檢查使用mockito調用特定參數的方法。mockito檢查方法調用
我是我的代碼,每次調用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'和運行測試時發生的實際調用。 – 2013-04-05 05:34:34