quinta-feira, 6 de março de 2008

Método mockado retornando uma Exception

Recentemente precisei fazer um teste em um método e que deveria verificar o comportamento do mesmo quando um método invocado por ele retornasse uma Exception específica.

Exemplo do método:
0: public String delete() throws Exception
1: {
2: try
3: {
4: vendaManager.delete(venda.getId());
5: }
6: catch (UnexpectedRollbackException e)
7: {
8: addActionError("Não foi possível cancelar venda.");
9: return Action.INPUT;
10: }
11: return Action.SUCCESS;
12: }
No expect do método é só retornar a exception da seguinte forma:
0: vendaManager.expects(once()).method("delete")
1: .with(ANYTHING).will(throwException(
2: new UnexpectedRollbackException("")));
3: assertEquals(action.delete(), "input");