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:

  1. @Runwith(Suite.class)
  2. @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.

Schritte zum Erstellen einer Testsuite und eines Testlรคufers

Schritt 2) Erstellen Sie eine weitere Testklasse zum Hinzufรผgen (z. B. MySecondClassTest) und erstellen Sie eine mit @test annotierte Methode.

Schritte zum Erstellen einer Testsuite und eines Testlรคufers

Schritt 3) Um eine testSuite zu erstellen, mรผssen Sie die Klasse zunรคchst mit @RunWith(Suite.class) und @SuiteClasses(class1.class2โ€ฆ..) annotieren.

Schritte zum Erstellen einer Testsuite und eines Testlรคufers

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

Schritte zum Erstellen einer Testsuite und eines Testlรคufers

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:

Schritte zum Erstellen einer Testsuite und eines Testlรคufers

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:

SuiteTest2.Java Ausgang

SuiteTest2.Java Ausgang

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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: