JUnit Erwarteter Ausnahmetest: @Test(erwartet)
JUnit bietet die Möglichkeit, die Ausnahme zu verfolgen und auch zu überprüfen, ob der Code die erwartete Ausnahme auslöst oder nicht.
Junit4 bietet eine einfache und lesbare Möglichkeit zum Testen von Ausnahmen. Sie können
- Optionaler Parameter (erwartet) der @test-Annotation und
- Zur Nachverfolgung der Informationen kann „fail()“ verwendet werden
Während Testen Ausnahme müssen Sie sicherstellen, dass die Ausnahmeklasse, die Sie in diesem optionalen Parameter angeben, angegeben wird @test-Anmerkung ist dasselbe. Dies liegt daran, dass Sie von der verwendeten Methode eine Ausnahme erwarten Unit Tests, sonst unsere JUnit Der Test würde fehlschlagen.
Beispiel@Test(expected=IllegalArgumentException.class)
Mithilfe des Parameters „expected“ können Sie den Ausnahmenamen angeben, den unser Test auslösen kann. Im obigen Beispiel verwenden Sie „„IllegalArgumentException“ Dies wird vom Test ausgelöst, wenn ein Entwickler ein Argument verwendet, das nicht zulässig ist.
Beispiel mit @test(erwartet)
Lassen Sie uns Ausnahmetests verstehen, indem wir eine erstellen Java Klasse mit einer Methode, die eine Ausnahme auslöst. Sie werden sie in einer Testklasse behandeln und testen. JUnitMessage.java verfügt über eine Methode, die einfach eine mathematische Operation basierend auf der vom Benutzer empfangenen Eingabe ausführt. Bei Eingabe eines ungültigen Arguments wird „ArithmeticException“ ausgelöst. Siehe unten:
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; } }
Code-Erklärung:
- Codezeile 7: Erstellen eines parametrisierten Konstruktors mit Feldinitialisierung.
- Codezeile 11-14: Erstellen einer Methode für mathematische Operationen.
- Codezeile 18: Erstellen einer weiteren Methode zum Drucken einer Nachricht.
- Codezeile 20: Erstellen einer neuen Zeichenfolge zum Drucken einer Nachricht.
- Codezeile 21: Drucken der neuen Nachricht, die in Zeile 20 erstellt wurde.
Erstellen wir eine Testklasse für die obige Java-Klasse, um die Ausnahme zu überprüfen.
Unten finden Sie eine Testklasse zum Unit-Testen von Ausnahmen (hier ArithmeticException), die von der obigen Java-Klasse ausgelöst werden:
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()); } }
Code-Erklärung:
- Codezeile 13: Verwenden Sie die Annotation @Test, um unseren Test zu erstellen. Wenn Sie die Methode der obigen Klasse ausführen, wird eine mathematische Operation aufgerufen. Hier wird eine arithmetische Ausnahme erwartet, daher listen Sie sie als Parameter in @Test auf.
- Codezeile 17: Aufruf von printMessage() JUnitMessage.java
- Codezeile 18: Erstellen einer weiteren Methode zum Drucken einer HI-Nachricht.
Wenn Sie diese Testklasse ausführen, wird die Testmethode mit jedem definierten Parameter ausgeführt. Im obigen Beispiel wird die Testmethode fünfmal ausgeführt.
Lassen Sie es uns ausführen und das Ergebnis überprüfen. Unten sehen Sie die auszuführende Test-Runner-Klasse JunitTestExample.java
Ausgang:
Hier ist die Ausgabe, die einen erfolgreichen Test ohne Fehlerverfolgung zeigt, wie unten dargestellt:
Zusammenfassung
- Ausnahmetests sind eine spezielle Funktion, die in eingeführt wurde JUnit4. In diesem Tutorial haben Sie gelernt, wie Sie Ausnahmen testen JUnit mit @test (ausgenommen)
- Junit bietet die Möglichkeit, die Ausnahme zu verfolgen und auch zu überprüfen, ob der Code eine Ausnahme auslöst oder nicht
- Für Ausnahmetests können Sie verwenden
- Optionaler Parameter (erwartet) der @test-Annotation und
- Zur Nachverfolgung der Informationen kann „fail()“ verwendet werden