I Junit tillåter testpaket oss att samla alla testfall från flera klasser på ett ställe och köra det tillsammans.
För att köra svitstestet måste du kommentera en klass med nedanstående kommentarer:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class ...) eller
@ Suite.SuiteClasses ({test1.class, test2.class
...})
Med ovanstående anteckningar kommer alla testklasserna i sviten att köras en efter en.
Steg för att skapa Test Suite och Test Runner
Steg 1) Skapa en enkel testklass (t.ex. MyFirstClassTest) och lägg till en metod kommenterad med @test.
Steg 2) Skapa en annan testklass att lägga till (t.ex. MySecondClassTest) och skapa en metod som är antecknad med @test.
Steg 3) För att skapa en testSuite måste du först anteckna klassen med @RunWith (Suite.class) och @SuiteClasses (class1.class2
...).Steg 4) Skapa en Test Runner-klass för att köra vår testsvit enligt nedan;
Kodförklaring:
- Kodrad 8: Förklarar huvudmetoden för klassprovet som kommer att köra vårt JUnit-test.
- Kodrad 9: Exekvera testfall med JunitCore.runclasses som tar testklassnamnet som en parameter (I exemplet ovan använder du TestSuiteExample.class som visas i steg 3).
- Kodrad 11: Bearbetar resultatet med hjälp av för loop och utskrift av misslyckat resultat.
- Kodrad 13: Skriva ut det lyckade resultatet.
Output: Här är utgången som visar framgångsrikt test utan felspårning enligt nedan:
Exempel på JUnit Test Suite
Tänk på ett mer komplext exempel
JunitTest.java
JunitTest.java är en enkel klass som antecknats med @RunWith och @Suite- anteckningar. Du kan lista ut antalet .klasser i sviten som parametrar enligt nedan:
paket guru99.junit;importera org.junit.runner.RunWith;importera org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.klass,SuiteTest2.class,})offentlig klass JunitTest {// Denna klass förblir tom, den används endast som innehavare för ovanstående kommentarer}
SuiteTest1.java
SuiteTest1.java är en testklass som har en testmetod för att skriva ut ett meddelande enligt nedan. Du kommer att använda den här klassen som en svit i ovan nämnda klass.
paket guru99.junit;importera statisk org.junit.Assert.assertEquals;importera org.junit.Test;offentlig klass SuiteTest1 {public Strängmeddelande = "Saurabh";JUnitMessage junitMessage = ny JUnitMessage (meddelande);@Test (förväntat = ArithmeticException.class)offentligt ogiltigt testJUnitMessage () {System.out.println ("Junit-meddelandet skrivs ut");junitMessage.printMessage ();}@Testaoffentligt ogiltigt testJUnitHiMessage () {meddelande = "Hej!" + meddelande;System.out.println ("Junit Hej meddelande skrivs ut");assertEquals (meddelande, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 lyckas" + meddelande);}}
SuiteTest2.java
SuiteTest2.java är en annan testklass som liknar SuiteTest1.java som har en testmetod för att skriva ut ett meddelande enligt nedan. Du kommer att använda den här klassen som svit i JunitTest.java .
paket guru99.junit;importera org.junit.Assert;importera org.junit.Test;offentlig klass SuiteTest2 {@Testapublic void createAndSetName () {Sträng förväntad = "Y";String actual = "Y";Assert.assertEquals (förväntad, faktisk);System.out.println ("Suite Test 1 lyckas" + faktisk);}}
Produktion
Efter att ha kört JunitTest .java som innehåller en svit med test1.java och test2.java kommer du under utdata:
Sammanfattning
I den här handledningen har du lärt dig grunderna för testbälte och testsviter i detalj med ett exempel.
- Test sele eller automatisering Testning är en programvara eller en samling programvara som gör det möjligt för en användare att testa data med flera ingångar och styra utförandet
- Testselement möjliggör faktiskt ett testramverk som utför allt arbete med att utföra tester med hjälp av ett testbibliotek och generera en testrapport
- I Junit tillåter testpaket oss att samla alla testfall i många klasser på ett ställe och köra det tillsammans.