JUnit Oczekiwany test wyjątku: @Test(oczekiwany)
JUnit umożliwia śledzenie wyjątku i sprawdzenie, czy kod zgłasza oczekiwany wyjątek, czy nie.
Junit4 zapewnia łatwy i czytelny sposób testowania wyjątków, możesz użyć
- Opcjonalny parametr (oczekiwany) adnotacji @test i
- Do śledzenia informacji można zastosować funkcję „fail()”.
Kompletujemy wszystkie dokumenty (wymagana jest kopia paszportu i XNUMX zdjęcia) potrzebne do Testowanie wyjątek, musisz upewnić się, że klasa wyjątków, którą podajesz w tym opcjonalnym parametrze @testowa adnotacja Jest taki sam. Dzieje się tak, ponieważ oczekujesz wyjątku od metody, którą jesteś Testów jednostkowych, w przeciwnym razie nasz JUnit test by się nie udał.
Przykład@Test(oczekiwany=IllegalArgumentException.class)
Używając parametru „oczekiwany”, możesz określić nazwę wyjątku, który może zgłosić nasz test. W powyższym przykładzie używasz „Nielegalny ArgumentWyjątek” który zostanie wyrzucony przez test, jeśli programista użyje niedozwolonego argumentu.
Przykład użycia @test (oczekiwany)
Przyjrzyjmy się testowaniu wyjątków, tworząc plik Java klasa z metodą wyrzucającą wyjątek. Będziesz ją obsługiwać i testować w klasie testowej. Rozważ JUnitMessage.java ma metodę, która po prostu wykonuje operację matematyczną na podstawie danych wejściowych otrzymanych przez użytkownika. Jeśli zostanie wprowadzony jakikolwiek niedozwolony argument, zostanie zgłoszony wyjątek „ArithmeticException”. Zobacz poniżej:
package guru99.junit; public class JUnitMessage{ private String message; public JUnitMessage(String message) { this.message = message; } public void printMessage(){ System.out.println(message); int divide=1/0; } public String printHiMessage(){ message="Hi!" + message; System.out.println(message); return message; } }
Wyjaśnienie kodu:
- Linia kodu 7: Tworzenie sparametryzowanego konstruktora z inicjalizacją pola.
- Linia kodu 11-14: Tworzenie metody operacji matematycznych.
- Linia kodu 18: Tworzenie innej metody drukowania wiadomości.
- Linia kodu 20: Tworzenie nowego ciągu znaków w celu wydrukowania wiadomości.
- Linia kodu 21: Drukowanie nowej wiadomości utworzonej w linii 20.
Utwórzmy klasę testową dla powyższej klasy Java, aby zweryfikować wyjątek.
Zobacz poniżej klasę testową do jednostkowego testu wyjątku (tutaj ArithmeticException) zgłaszanego z powyższej klasy Java:
AirthematicTest.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class AirthematicTest { public String message = "Saurabh"; JUnitMessage junitMessage = new JUnitMessage(message); @Test(expected = ArithmeticException.class) public void testJUnitMessage(){ System.out.println("Junit Message is printing "); junitMessage.printMessage(); } @Test public void testJUnitHiMessage(){ message="Hi!" + message; System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } }
Wyjaśnienie kodu:
- Linia kodu 13: Używanie adnotacji @Test do utworzenia naszego testu. Podczas wykonywania metody klasy powyżej, wywoła ona operację matematyczną. Tutaj oczekiwany jest wyjątek arytmetyczny, więc wymieniasz go jako parametr w @Test.
- Linia kodu 17: Wywoływanie printMessage() JUnitWiadomość.java
- Linia kodu 18: Tworzenie innej metody drukowania wiadomości HI.
Jeśli wykonasz tę klasę testową, metoda testowa zostanie wykonana z każdym zdefiniowanym parametrem. W powyższym przykładzie metoda testowa jest wykonywana pięciokrotnie.
Wykonajmy to i zweryfikujmy wynik. Poniżej znajdziesz klasę modułu uruchamiającego testy do wykonania JunitTestExample.java
Wyjście:
Oto dane wyjściowe pokazujące pomyślny test bez śladów awarii, jak podano poniżej:
Podsumowanie
- Testowanie wyjątków to specjalna funkcja wprowadzona w JUnit4. W tym samouczku nauczyłeś się testować wyjątki w JUnit używając @test (z wyjątkiem)
- Junit zapewnia możliwość śledzenia wyjątku i sprawdzania, czy kod zgłasza wyjątek, czy nie
- Do testowania wyjątków możesz użyć
- Opcjonalny parametr (oczekiwany) adnotacji @test i
- Do śledzenia informacji można zastosować funkcję „fail()”.