4it101»J Unit 12

J Unit 12

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");
}