Tengo el siguiente método en el que deseo verificar el comportamiento.
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()));
...
}
En mi clase @Test esperaba hacer algo como esto para verificar que errors.add()
se llama con "exception.message" y nuevamente con "exception.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
sin embargo Mockito se queja de la siguiente manera
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
);
¿Cómo puedo decirle a Mockito que verifique ambos valores?
Mockito.reset()