Opprett JUnit Test Suite med eksempel: @RunWith @SuiteClasses

I Junit lar testpakken oss samle alle testtilfeller fra flere klasser på ett sted og kjøre det sammen.

For å kjøre suitetesten, må du kommentere en klasse ved å bruke merknadene nedenfor:

  1. @Runwith(Suite.class)
  2. @SuiteClasses(test1.class,test2.class……) eller@Suite.SuiteClasses ({test1.class, test2.class……})

Med merknadene ovenfor vil alle testklassene i suiten begynne å kjøre en etter en.

Trinn for å lage Test Suite og Test Runner

Trinn 1) Lag en enkel testklasse (f.eks. MyFirstClassTest) og legg til en metode merket med @test.

Trinn for å lage Test Suite og Test Runner

Trinn 2) Opprett en annen testklasse for å legge til (f.eks. MySecondClassTest) og lag en metode som er kommentert med @test.

Trinn for å lage Test Suite og Test Runner

Trinn 3) For å lage en testSuite må du først kommentere klassen med @RunWith(Suite.class) og @SuiteClasses(class1.class2…..).

Trinn for å lage Test Suite og Test Runner

Trinn 4) Opprett en Test Runner-klasse for å kjøre testpakken vår som gitt nedenfor;

Trinn for å lage Test Suite og Test Runner

Kodeforklaring:

  • Kodelinje 8: Erklærer hovedmetoden for klassetesten som vil kjøre vår JUnit test.
  • Kodelinje 9: Utføre testtilfeller ved å bruke JunitCore.runclasses som tar testklassenavnet som en parameter (I eksemplet ovenfor bruker du TestSuiteExample.class vist i trinn 3).
  • Kodelinje 11: Behandler resultatet med for loop og skriver ut mislykket resultat.
  • Kodelinje 13: Skriver ut det vellykkede resultatet.

Utgang: Her er utgangen som viser vellykket test uten feilspor som gitt nedenfor:

Trinn for å lage Test Suite og Test Runner

JUnit Eksempel på testsuite

Tenk på et mer komplekst eksempel

JunitTest.java

JunitTest.java er en enkel klasse merket med @RunWith og @Suite merknader. Du kan liste opp antall .classes i suiten som parametere som gitt nedenfor:

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 er en testklasse som har en testmetode for å skrive ut en melding som gitt nedenfor. Du vil bruke denne klassen som en suite i ovennevnte klasse.

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 er en annen testklasse som ligner på SuiteTest1.java å ha en testmetode for å skrive ut en melding som gitt nedenfor. Du vil bruke denne klassen som suite in 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);							
    }		

}		

Produksjon

Etter henrettelse JunitTest.java som inneholder en suite med test1.java og test2.java, vil du få utdata nedenfor:

SuiteTest2.Java Produksjon

SuiteTest2.Java Produksjon

Sammendrag

I denne opplæringen har du lært grunnleggende om testsele og testsuiter i detaljer med et eksempel.

  • Test sele eller automatisering Testing er en programvare eller en samling av programvare, som lar en bruker teste data med flere innganger og kontrollere utførelsen
  • Testsele muliggjør faktisk et testrammeverk som gjør alt arbeidet med å utføre tester ved hjelp av et testbibliotek og generere en testrapport
  • I Junit lar testpakken oss samle alle testtilfeller av mange klasser på ett sted og kjøre det sammen.