Pisząc testy we frameworku JUnit 4 mamy kilka opcji na zapisanie warunku, że testowany kod powinien rzucić wyjątkiem. Wymieniając najprostsze, niewymagające dodatkowych bibliotek:
- dodanie atrybutu „expected” do adnotacji na metodzie testowej:
@Test(expected = IllegalStateException.class)
- otoczenie kodu blokiem try-catch
- użycie reguły ExpectedException
Pierwsza opcja wymaga najmniej pisania, ale jest mało elastyczna: nie jesteśmy w stanie zapewnić niczego o wyjątku, jedynie jego klasę. Gdyby przyszła potrzeba upewnienia się, jaki jest komunikat wyjątku, metodę testową trzeba całkowicie przepisać, zmieniając podejście na któreś z opisanych niżej.
Czytaj dalej „ExpectedException i pułapki łapania wyjątków w testach”