ฉันมีวิธีการต่อไปนี้ที่ต้องการตรวจสอบพฤติกรรม
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()));
...
}
ในชั้นเรียน @Test ของฉันฉันหวังว่าจะทำอะไรแบบนี้เพื่อยืนยันว่าerrors.add()
ถูกเรียกด้วย " except.message " และอีกครั้งด้วย "except.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
อย่างไรก็ตาม Mockito บ่นดังนี้
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
);
ฉันจะบอกให้ Mockito ตรวจสอบทั้งสองค่าได้อย่างไร
Mockito.reset()