Erstellen 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-Erklärung:

  • Codezeile 8: Deklarieren der Hauptmethode des Klassentests, der unsere ausführen wird JUnit Test.
  • Codezeile 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).
  • Codezeile 11: Verarbeiten des Ergebnisses mithilfe einer for-Schleife und Ausdrucken des fehlgeschlagenen Ergebnisses.
  • Codezeile 13: Ausdrucken des erfolgreichen Ergebnisses.

Ausgang: Hier ist die Ausgabe, die einen erfolgreichen Test ohne Fehlerverfolgung zeigt, wie unten dargestellt:

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 Testen 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.