Tôi có phương pháp sau mà tôi muốn xác minh hành vi.
public void methodToTest(Exception e, ActionErrors errors) {
...
errors.add("exception.message",
ActionMessageFactory.createErrorMessage(e.toString()));
errors.add("exception.detail",
ActionMessageFactory.createErrorMessage(e.getStackTrace()[0].toString()));
...
}
Trong lớp @Test của tôi, tôi đã hy vọng làm điều gì đó như thế này để xác minh rằng nó errors.add()
được gọi bằng "exception.message" và một lần nữa với "exception.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
tuy nhiên Mockito phàn nàn như sau
Argument(s) are different! Wanted:
actionErrors.add(
"exception.message",
<any>
);
Actual invocation has different arguments:
actionErrors.add(
"exception.detail",
org.apache.struts.action.ActionError@38063806
);
Làm cách nào để yêu cầu Mockito kiểm tra cả hai giá trị?
Mockito.reset()