Erschaffung JUnit Testsuite mit Beispiel: @RunWith @SuiteClasses
In Junit kรถnnen wir mit der Testsuite alle Testfรคlle aus mehreren Klassen an einem Ort zusammenfassen und gemeinsam ausfรผhren.
Um den Suite-Test auszufรผhren, mรผssen Sie eine Klasse mit den unten aufgefรผhrten Anmerkungen annotieren:
- @Runwith(Suite.class)
- @SuiteClasses(test1.class,test2.classโฆโฆ) oder@Suite.SuiteClasses ({test1.class, test2.classโฆโฆ})
Mit den obigen Anmerkungen beginnen alle Testklassen in der Suite nacheinander mit der Ausfรผhrung.
Schritte zum Erstellen einer Testsuite und eines Testlรคufers
Schritt 1) Erstellen Sie eine einfache Testklasse (z. B. MyFirstClassTest) und fรผgen Sie eine mit @test annotierte Methode hinzu.
Schritt 2) Erstellen Sie eine weitere Testklasse zum Hinzufรผgen (z. B. MySecondClassTest) und erstellen Sie eine mit @test annotierte Methode.
Schritt 3) Um eine testSuite zu erstellen, mรผssen Sie die Klasse zunรคchst mit @RunWith(Suite.class) und @SuiteClasses(class1.class2โฆ..) annotieren.
Schritt 4) Erstellen Sie eine Test Runner-Klasse, um unsere Testsuite wie unten angegeben auszufรผhren.
Code Erlรคuterung:
- Code Linie 8: Deklarieren der Hauptmethode des Klassentests, der unsere ausfรผhren wird JUnit Test.
- Code Linie 9: Ausfรผhren von Testfรคllen mit JunitCore.runclasses, das den Namen der Testklasse als Parameter verwendet (im obigen Beispiel verwenden Sie TestSuiteExample.class, das in Schritt 3 gezeigt wird).
- Code Linie 11: Verarbeiten des Ergebnisses mithilfe einer for-Schleife und Ausdrucken des fehlgeschlagenen Ergebnisses.
- Code Linie 13: Ausdrucken des erfolgreichen Ergebnisses.
Ausgang: Hier ist die Ausgabe, die einen erfolgreichen Test ohne Fehler anzeigt. trace wie unten angegeben:
JUnit Beispiel einer Testsuite
Betrachten Sie ein komplexeres Beispiel
JunitTest.java
JunitTest.java ist eine einfache Klasse mit den Anmerkungen @ RunWith und @Suite Anmerkungen. Sie kรถnnen die Anzahl der .classes in der Suite wie folgt als Parameter auflisten:
package guru99.junit;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
SuiteTest1.class,
SuiteTest2.class,
})
public class JunitTest {
// This class remains empty, it is used only as a holder for the above annotations
}
SuiteTest1.java
SuiteTest1.java ist eine Testklasse mit einer Testmethode zum Ausdrucken einer Nachricht wie unten angegeben. Sie werden diesen Kurs als Suite im oben genannten Kurs verwenden.
package guru99.junit;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class SuiteTest1 {
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 Hi Message is printing ");
assertEquals(message, junitMessage.printHiMessage());
System.out.println("Suite Test 2 is successful " + message);
}
}
SuiteTest2.java
SuiteTest2.java ist eine weitere Testklasse รคhnlich SuiteTest1.java eine Testmethode zum Ausdrucken einer Nachricht wie unten angegeben haben. Sie werden diese Klasse als Suite verwenden JunitTest.java.
package guru99.junit;
import org.junit.Assert;
import org.junit.Test;
public class SuiteTest2 {
@Test
public void createAndSetName() {
String expected = "Y";
String actual = "Y";
Assert.assertEquals(expected, actual);
System.out.println("Suite Test 1 is successful " + actual);
}
}
Ausgang
Nach der Ausfรผhrung JunitTest.java, das eine Suite mit enthรคlt test1.java und test2.java, erhalten Sie die folgende Ausgabe:
Zusammenfassung
In diesem Tutorial haben Sie anhand eines Beispiels die Grundlagen von Test Harness und Test Suites im Detail kennengelernt.
- Testgeschirr oder Automatisierung Tests ist eine Software oder eine Sammlung von Software, die es einem Benutzer ermรถglicht, Daten mit mehreren Eingaben zu testen und die Ausfรผhrung zu steuern
- Test Harness ermรถglicht tatsรคchlich ein Test-Framework, das die gesamte Arbeit der Testausfรผhrung mithilfe einer Testbibliothek und der Erstellung eines Testberichts รผbernimmt
- In Junit kรถnnen wir mit der Test-Suite alle Testfรคlle vieler Klassen an einem Ort zusammenfassen und gemeinsam ausfรผhren.







