Test očekávané výjimky
Ověřování toho, zda kód funguje správně za příznivých podmínek je intuitivní a důležitý krok. Ale ujištění, že se kód zpráva tak jako je očekávané ve všech, především ve výjimečných situacích, je nejenže přínosné, ale také očekávané. V uvedeném příkladu došlo k vytvoření nové instance třídy Polozka a následně k pokusu o nastavení její ceny. Nastávání hodnota byla záporná a tak, vyplývající z implementace metody setCena (), která obsahuje odchytávání výjimek, se očekává vyvolání výjimky IllegalArgumentException. V případě, pokud by k vyvolání zmíněné výjimky z jakéhokoliv důvodu nedošlo, test bude explicitně zastaven metodou fail () s upřesňujícím zprávou o tom k čemu došlo.
@Test
public void testExpectedException() {
Polozka polozka = new Polozka("název",123);
try {
polozka.setCena(-12.95);
} catch (IllegalArgumentException e) {
assertEquals("Cena musi byt nezaporna", e.getMessage());
return;
}
fail("Melo by dojit k vyjimce IllegalArgumentException");
}