升级到Java 8之后,之前有效的测试已经开始失败。 这是测试部分:
verify(session, times(1)).reject(any(), any(), any());
这是拒绝方法:
public void reject(@SuppressWarnings("hiding") String fieldName, Object... args) {
reject(fieldName, null, args);
}
以下是错误消息:
Wanted but not invoked:
ruleSession.reject(<any>, <any>, <any>);
However, there were other interactions with this mock:
ruleSession.reject(
"year",
2000,
2000
);
正如您所看到的,实际上会调用拒绝方法,但Mockito无法识别它。我猜它与Object ... args
有关但是在运行带有两个args的方法时:
verify(session).reject(any(), any());
错误是:
Actual invocation has different arguments:
ruleSession.reject(
"year",
2000,
2000
);
我使用的是Mockito版本1.10.19
答案 0 :(得分:1)
看来我需要更换
verify(session, times(1)).reject(any(), any(), any());
使用:
verify(session, times(1)).reject(any(), anyVararg());
由于旧的方式在Java 8中不再有效。