Tenho o seguinte método no qual desejo verificar o comportamento.
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()));
...
}
Na minha classe @Test, eu esperava fazer algo assim para verificar se errors.add()
é chamado com "exception.message" e novamente com "exception.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
no entanto Mockito reclama da seguinte forma
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
);
Como posso dizer ao Mockito para verificar os dois valores?
Mockito.reset()