Come posso usare JUnit4 in modo idiomatico per verificare che alcuni codici generino un'eccezione?
Mentre posso certamente fare qualcosa del genere:
@Test
public void testFooThrowsIndexOutOfBoundsException() {
boolean thrown = false;
try {
foo.doStuff();
} catch (IndexOutOfBoundsException e) {
thrown = true;
}
assertTrue(thrown);
}
Ricordo che esiste un'annotazione o un Assert.xyz o qualcosa di molto meno complicato e molto più nello spirito di JUnit per questo tipo di situazioni.
org.mockito.Mockito.verify
con vari parametri per assicurarmi che accadano determinate cose (in modo tale che un servizio di logger sia stato chiamato con i parametri corretti) prima che venga generata l'eccezione.