JUnit zapewnia możliwość śledzenia wyjątku, a także sprawdzenia, czy kod zgłasza oczekiwany wyjątek, czy nie.
Junit4 zapewnia łatwy i czytelny sposób testowania wyjątków, którego możesz użyć
- Opcjonalny parametr (oczekiwany) adnotacji @test i
- Aby prześledzić informacje, można użyć funkcji „fail ()”
Podczas testowania wyjątku musisz upewnić się, że klasa wyjątku, którą podajesz w tym opcjonalnym parametrze adnotacji @test, jest taka sama. Dzieje się tak, ponieważ spodziewasz się wyjątku od metody testowania jednostkowego, w przeciwnym razie nasz test JUnit zakończy się niepowodzeniem.
Przykład @ Test (oczekiwano = 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 „ IllegalArgumentException”, który zostanie wyrzucony przez test, jeśli programista użyje niedozwolonego argumentu.
Przykład z użyciem @test (oczekiwano)
Zrozummy testowanie wyjątków, tworząc klasę Java z metodą zgłaszającą wyjątek. Poradzisz sobie z tym i przetestujesz to w klasie testowej. Rozważmy, że JUnitMessage.java ma metodę, która po prostu wykonuje operację matematyczną na podstawie danych wejściowych otrzymanych przez użytkownika. Jeśli zostałby wprowadzony jakikolwiek niedozwolony argument, zgłosi „ArithmeticException ” . Zobacz poniżej:
pakiet guru99.junit;public class JUnitMessage {prywatna wiadomość String;public JUnitMessage (wiadomość tekstowa) {this.message = wiadomość;}public void printMessage () {System.out.println (wiadomość);int divide = 1/0;}public String printHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println (wiadomość);wiadomość zwrotna;}}
Objaśnienie kodu:
- Linia kodu 7: Tworzenie sparametryzowanego konstruktora z inicjalizacją pola.
- Linia kodu 11-14: Tworzenie metody operacji matematycznej.
- Linia kodu 18: Tworzenie innej metody drukowania wiadomości.
- Code Line 20: Tworzenie nowego ciągu znaków do 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 wyjątku testu jednostkowego (tutaj ArithmeticException) rzucającego z powyższej klasy java:
AirthematicTest.java
pakiet guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class AirthematicTest {public String message = "Saurabh";JUnitMessage junitMessage = nowy JUnitMessage (wiadomość);@Test (oczekiwano = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Trwa drukowanie komunikatu Junit");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println ("Trwa drukowanie komunikatu Junit");assertEquals (wiadomość, junitMessage.printMessage ());}}
Objaśnienie kodu:
- Linia kodu 13: Używanie adnotacji @Test do tworzenia naszego testu. Kiedy wykonujesz metodę z powyższych klas, wywoła ona operację matematyczną. Tutaj oczekiwany jest wyjątek arytmetyczny, więc wymieniasz go jako parametr w @Test.
- Linia kodu 17: Wywołanie printMessage () JUnitMessage.java
- Code Line 18: Tworzenie innej metody drukowania komunikatu HI.
Jeśli wykonujesz tę klasę testową, metoda testowa jest wykonywana z każdym zdefiniowanym parametrem. W powyższym przykładzie metoda testowa jest wykonywana pięć razy.
Wykonajmy to i zweryfikujmy wynik. Zobacz poniżej klasę uruchamiającą test, aby wykonać JunitTestExample.java
Wynik:
Oto dane wyjściowe, które pokazują pomyślny test bez śladu awarii, jak podano poniżej:
Podsumowanie:
- Testowanie wyjątków to specjalna funkcja wprowadzona w JUnit4. W tym samouczku nauczyłeś się testować wyjątek w JUnit za pomocą @test (z wyjątkiem)
- Junit udostępnia narzędzie do śledzenia wyjątku, a także do sprawdzania, czy kod zgłasza wyjątek, czy nie
- Do testowania wyjątków możesz użyć
- Opcjonalny parametr (oczekiwany) adnotacji @test i
- Aby prześledzić informacje, można użyć funkcji „fail ()”