在我的应用程序中,我的代码看起来像 -
request.setParameter("a",false);//line1
request.setParameter("b",someObject);//line2
request.setParameter("c",someObject);//line3
request.setParameter("d",someObject);//line4
我已经模拟了请求对象,现在我想验证是否调用了line3。我不关心其他线路,在我试过的测试类中 -
Mockito.verify(request).setParameter("c",someObject)
但是我收到了错误 -
Argument(s) are different! Wanted:
request.setParameter("c",com.test.MyObject@fec107);
-> at XXX
Actual invocation has different arguments:
request.setParameter("a", false);
出于某种原因,Mockito比较了第一次调用和抛出错误
答案 0 :(得分:5)
如果您正在验证的调用实际上没有发生,Mockito将只会这样做。因此,如果调用request.setParameter("c", someObject)
,则无论其他调用如何,您的测试都会通过。如果verify
失败,Mockito会尝试通过识别您尝试验证的电话“接近错过”的电话来提供帮助;但如果verify
失败,仅。