tengo el siguiente método que deseo para verificar el comportamiento deCómo verificar varias llamadas a métodos con diferentes parametros
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 Tenía la esperanza de hacer algo como esto para verificar que se llama errors.add()
con "Exception.Message" y de nuevo con "exception.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
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",
[email protected]
);
¿Cómo puedo decirle a Mockito que verifique ambos valores?
Cuando tiene 2 métodos con firma diferente, puede escribir un caso de prueba por separado para ambos. –
Sí, pero en este caso es la misma firma de método pero solo diferentes valores de argumento – Brad