ho il seguente metodo che desidero per verificare il comportamento sullaCome verificare il metodo più chiamate con diversi params
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()));
...
}
Nella mia classe @Test speravo di fare qualcosa di simile per verificare che si chiama errors.add()
con "exception.message" e di nuovo con "exception.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
tuttavia Mockito lamenta come segue
Argument(s) are different! Wanted:
actionErrors.add(
"exception.message",
<any>
);
Actual invocation has different arguments:
actionErrors.add(
"exception.detail",
[email protected]
);
Come posso dire a Mockito di verificare entrambi i valori?
quando si hanno 2 metodi con firma diversa, è possibile scrivere un test case separato per entrambi. –
Sì, ma in questo caso è la stessa firma del metodo ma solo valori di argomento diversi – Brad