这是我工作正常时的代码
verify(loginService).getUser(eq(loginName));在这里它正在失败..。
@Test
public void test_getUserFlow4() {
...
LoginModel loginModelReturned = loginService.getUser(loginName, null);
assertGeneralConditions(loginModelReturned);
...
}
private void assertGeneralConditions(LoginModel loginModelReturned){
verify(loginService).getUser(eq(loginName), null); //test failed here other lines not executed
....
....
}以下是getUser方法
public LoginModel getUser(String loginName, String userAgent) {
// userAgent is not being used anywhere
....
return model;
}准确错误:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
2 matchers expected, 1 recorded:发布于 2014-04-12 08:27:21
如果使用参数匹配,则需要将它们用于所有参数。因此,要修复您的测试,只需使用:
verify(loginService).getUser(eq(loginName), Matchers.<String>eq(null));或者:
verify(loginService).getUser(eq(loginName), (String) isNull());或者就我个人而言,我只需要使用一个值为userAgent的null变量来澄清这一点
String userAgent = null;
verify(loginService).getUser(eq(loginName), eq(userAgent));https://stackoverflow.com/questions/23027952
复制相似问题