Erstellen Sie die JUnit Test Suite mit Beispiel: @RunWith @SuiteClasses

Inhaltsverzeichnis:

Anonim

In Junit können wir mit der Testsuite alle Testfälle aus mehreren Klassen an einem Ort zusammenfassen und zusammen ausführen.

Um den Suite-Test auszuführen, müssen Sie eine Klasse mit den folgenden Anmerkungen versehen:

  1. @ Runwith (Suite.class)
  2. @SuiteClasses (test1.class, test2.class…) oder

    @ Suite.SuiteClasses ({test1.class, test2.class

    …})

Mit den obigen Anmerkungen werden alle Testklassen in der Suite einzeln ausgeführt.

Schritte zum Erstellen von Test Suite und Test Runner

Schritt 1) Erstellen Sie eine einfache Testklasse (z. B. MyFirstClassTest) und fügen Sie eine mit @test kommentierte Methode hinzu.

Schritt 2) Erstellen Sie eine weitere hinzuzufügende Testklasse (z. B. MySecondClassTest) und erstellen Sie eine mit @test kommentierte Methode.

Schritt 3) Um eine testSuite zu erstellen, müssen Sie zuerst die Klasse mit @RunWith (Suite.class) und @SuiteClasses (class1.class2) mit Anmerkungen versehen

…).

Schritt 4) Erstellen Sie eine Test Runner-Klasse, um unsere Testsuite wie unten angegeben auszuführen.

Code Erläuterung:

  • Codezeile 8: Deklarieren der Hauptmethode des Klassentests, mit dem unser JUnit-Test ausgeführt wird.
  • Codezeile 9: Ausführen von Testfällen mit JunitCore.runclasses, wobei der Name der Testklasse als Parameter verwendet wird (Im obigen Beispiel verwenden Sie die in Schritt 3 gezeigte TestSuiteExample.class).
  • Codezeile 11: Verarbeiten des Ergebnisses mit for-Schleife und Ausdrucken des fehlgeschlagenen Ergebnisses.
  • Codezeile 13: Drucken des erfolgreichen Ergebnisses.

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

Beispiel für eine JUnit Test Suite

Betrachten Sie ein komplexeres Beispiel

JunitTest.java

JunitTest.java ist eine einfache Klasse, die mit @ RunWith- und @ Suite- Annotationen versehen ist. Sie können die Anzahl der Klassen in der Suite als Parameter wie folgt angeben:

Paket guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@ RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})öffentliche Klasse JunitTest {// Diese Klasse bleibt leer und wird nur als Halter für die obigen Anmerkungen verwendet}}

SuiteTest1.java

SuiteTest1.java ist eine Testklasse mit einer Testmethode zum Ausdrucken einer Nachricht wie unten angegeben. Sie werden diese Klasse als Suite in der oben genannten Klasse verwenden.

Paket guru99.junit;statische org.junit.Assert.assertEquals importieren;import org.junit.Test;öffentliche Klasse SuiteTest1 {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 Hi Message wird gedruckt");assertEquals (message, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 ist erfolgreich" + Nachricht);}}}}

SuiteTest2.java

SuiteTest2.java ist eine weitere Testklasse , die SuiteTest1.java ähnelt und über eine Testmethode zum Ausdrucken einer Nachricht wie unten angegeben verfügt. Sie werden diese Klasse als Suite in JunitTest.java verwenden .

Paket guru99.junit;import org.junit.Assert;import org.junit.Test;öffentliche Klasse SuiteTest2 {@Prüfungpublic void createAndSetName () {Zeichenfolge erwartet = "Y";String actual = "Y";Assert.assertEquals (erwartet, tatsächlich);System.out.println ("Suite Test 1 ist erfolgreich" + aktuell);}}}}

Ausgabe

Nach dem Ausführen von JunitTest .java, das eine Suite mit test1.java und test2.java enthält , wird die folgende Ausgabe angezeigt :

Zusammenfassung

In diesem Tutorial haben Sie anhand eines Beispiels die Grundlagen des Testgeschirrs und der Testsuiten ausführlich gelernt.

  • Testkabel oder Automatisierung Testen ist eine Software oder eine Sammlung von Software, mit der ein Benutzer Daten mit mehreren Eingaben testen und die Ausführung steuern kann
  • Das Testkabel ermöglicht tatsächlich ein Testframework, das die gesamte Arbeit zum Ausführen von Tests mithilfe einer Testbibliothek und zum Generieren eines Testberichts erledigt
  • In Junit können wir mit der Testsuite alle Testfälle vieler Klassen an einem Ort zusammenfassen und zusammen ausführen.