![](/img/trans.png)
[英]Mockito: verify that a method was not called with specific parameter type
[英]Mockito - verify method is called with a specific parameter ( condition )
我在單元測試中有以下行
verify(MyMock).handleError(any(ICallBack.class),any(BaseError.class) );
但是我想寫的是一個驗證,以測試基本錯誤類(第二個參數)是否具有
BaseError::errorCode = 3
我該怎么做?
是否僅使用參數捕獲?
謝謝。
只需為第二個參數使用合適的匹配器即可。 例如:
verify(MyMock).handleError(any(ICallBack.class), eq(new BaseError(3)));
假定此實例與具有此錯誤代碼的任何BaseError
實例相同。 您還可以實現自定義ArgumentMatcher<BaseError>
並實現邏輯,如果給定實例errorCode
為3
則返回true
,例如:
verify(MyMock).handleError(any(ICallBack.class),
argThat(new ArgumentMatcher<BaseError> {
@Override
public boolean matches(Object baseError) {
return ((BaseError) baseError).errorCode == 3;
}
}));
以下應該有幫助
doAnswer(new Answer<Void>() {
public Void answer(InvocationOnMock invocation) {
Object[] args = invocation.getArguments()
assertTrue((long)args[1], 3);
return null;
}
}).when(MyMock).handleError(any(ICallBack.class),any(BaseError.class) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.