JUnit Expected Exception Test: @Test (erwartet)

Inhaltsverzeichnis:

Anonim

JUnit bietet die Möglichkeit, die Ausnahme zu verfolgen und 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, die Sie verwenden können

  • Optionaler Parameter (erwartet) der @ test-Annotation und
  • Um die Informationen zu verfolgen, kann "fail ()" verwendet werden

Während Sie die Ausnahme testen , müssen Sie sicherstellen, dass die Ausnahmeklasse, die Sie in diesem optionalen Parameter der Annotation @test angeben, identisch ist. Dies liegt daran, dass Sie eine Ausnahme von der Methode erwarten, mit der Sie Unit-Tests durchführen. Andernfalls schlägt unser JUnit-Test fehl.

Beispiel @ Test (erwartet = IllegalArgumentException.class)

Mit dem Parameter "erwartet" können Sie den Ausnahmennamen angeben, den unser Test auslösen kann. Im obigen Beispiel verwenden Sie " IllegalArgumentException", die vom Test ausgelöst wird, wenn ein Entwickler ein Argument verwendet, das nicht zulässig ist.

Beispiel mit @test (erwartet)

Lassen Sie uns das Testen von Ausnahmen verstehen, indem Sie eine Java-Klasse mit einer Methode erstellen, die eine Ausnahme auslöst. Sie werden damit umgehen und es in einer Testklasse testen. Stellen Sie sich vor, JUnitMessage.java verfügt über eine Methode, die einfach eine mathematische Operation basierend auf den vom Benutzer empfangenen Eingaben ausführt. Wenn ein unzulässiges Argument eingegeben wird, wird "ArithmeticException " ausgelöst . Siehe unten:

Paket guru99.junit;öffentliche Klasse JUnitMessage {private String-Nachricht;public JUnitMessage (String message) {this.message = message;}}public void printMessage () {System.out.println (Nachricht);int dividieren = 1/0;}}public String printHiMessage () {message = "Hi!" + Nachricht;System.out.println (Nachricht);Rückmeldung;}}}}

Code Erläuterung:

  • Codezeile 7: Erstellen eines parametrisierten Konstruktors mit Feldinitialisierung.
  • Codezeile 11-14: Erstellen einer Methode für die mathematische Operation.
  • Codezeile 18: Erstellen einer anderen Methode zum Drucken einer Nachricht.
  • Codezeile 20: Erstellen einer neuen Zeichenfolge zum Drucken einer Nachricht.
  • Codezeile 21: Neue Nachricht drucken, die in Zeile 20 erstellt wurde.

Erstellen wir eine Testklasse für die oben genannte Java-Klasse, um die Ausnahme zu überprüfen.

Siehe unten Testklasse zu Unit-Test-Ausnahme (ArithmeticException hier), die von der obigen Java-Klasse ausgelöst wird:

AirthematicTest.java

Paket guru99.junit;statische org.junit.Assert.assertEquals importieren;import org.junit.Test;öffentliche Klasse AirthematicTest {public String message = "Saurabh";JUnitMessage junitMessage = neue JUnitMessage (Nachricht);@Test (erwartet = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Junit-Nachricht wird gedruckt");junitMessage.printMessage ();}}@Prüfungpublic void testJUnitHiMessage () {message = "Hi!" + Nachricht;System.out.println ("Junit-Nachricht wird gedruckt");assertEquals (message, junitMessage.printMessage ());}}}}

Code Erläuterung:

  • Codezeile 13: Verwenden der @ Test-Annotation zum Erstellen unseres Tests. Wenn Sie die obige Klassenmethode ausführen, wird eine mathematische Operation aufgerufen. Hier wird eine arithmetische Ausnahme erwartet, daher listen Sie sie als Parameter in @Test auf.
  • Codezeile 17: Aufrufen von printMessage () JUnitMessage.java
  • Codezeile 18: Erstellen einer anderen Methode zum Drucken von HI-Nachrichten.

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 finden Sie die Testrunner- Klasse zum Ausführen von JunitTestExample.java

Ausgabe:

Hier ist die Ausgabe, die einen erfolgreichen Test ohne Fehlerverfolgung anzeigt, wie unten angegeben:

Zusammenfassung:

  • Ausnahmetests sind eine spezielle Funktion, die in JUnit4 eingeführt wurde. In diesem Tutorial haben Sie gelernt, wie Sie Ausnahmen in JUnit mit @test testen (ausgenommen).
  • Junit bietet die Möglichkeit, die Ausnahme zu verfolgen und 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
    • Um die Informationen zu verfolgen, kann "fail ()" verwendet werden