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.

(:source lang=Java -trim +getcode:) @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"); }