I Junit lar testpakken oss samle alle testtilfeller fra flere klasser på ett sted og kjøre det sammen.
For å kjøre suite-testen, må du kommentere en klasse ved hjelp av kommentarene nedenfor:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class…) eller
@ Suite.SuiteClasses ({test1.class, test2.class
...})
Med kommentarene ovenfor begynner alle testklassene i suiten å kjøre en etter en.
Fremgangsmåte for å lage Test Suite og Test Runner
Trinn 1) Opprett en enkel testklasse (f.eks. MyFirstClassTest) og legg til en metode som er merket med @test.
Trinn 2) Opprett en annen testklasse du vil legge til (f.eks. MySecondClassTest) og opprett en metode som er merket med @test.
Trinn 3) For å lage en testSuite må du først kommentere klassen med @RunWith (Suite.class) og @SuiteClasses (class1.class2
...).Trinn 4) Opprett en Test Runner-klasse for å kjøre testpakken vår som gitt nedenfor;
Kode Forklaring:
- Kodelinje 8: Erklærer hovedmetoden for klassetesten som kjører vår JUnit-test.
- Kodelinje 9: Utføre testtilfeller ved bruk av JunitCore.runclasses som tar testklassenavnet som en parameter (I eksemplet ovenfor bruker du TestSuiteExample.class vist i trinn 3).
- Kodelinje 11: Behandler resultatet ved hjelp av for loop og skriver ut mislykket resultat.
- Kodelinje 13: Skrive ut det vellykkede resultatet.
Utgang: Her er utgangen som viser vellykket test uten feilsporing som angitt nedenfor:
Eksempel på JUnit Test Suite
Tenk på et mer komplekst eksempel
JunitTest.java
JunitTest.java er en enkel klasse kommentert med @RunWith og @Suite- merknader. Du kan liste ut antall .klasser i suiten som parametere som gitt nedenfor:
pakke guru99.junit;importer org.junit.runner.RunWith;importer org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.klasse,SuiteTest2.class,})offentlig klasse JunitTest {// Denne klassen forblir tom, den brukes kun som holder for kommentarene ovenfor}
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.
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Test;offentlig klasse SuiteTest1 {offentlig strengmelding = "Saurabh";JUnitMessage junitMessage = ny JUnitMessage (melding);@Test (forventet = ArithmeticException.class)offentlig ugyldig testJUnitMessage () {System.out.println ("Junit Message skrives ut");junitMessage.printMessage ();}@Testoffentlig ugyldig testJUnitHiMessage () {message = "Hei!" + melding;System.out.println ("Junit Hi Message skrives ut");assertEquals (melding, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 er vellykket" + melding);}}
SuiteTest2.java
SuiteTest2.java er en annen testklasse som ligner på SuiteTest1.java som har en testmetode for å skrive ut en melding som gitt nedenfor. Du vil bruke denne klassen som suite i JunitTest.java .
pakke guru99.junit;import org.junit.Assert;import org.junit.Test;offentlig klasse SuiteTest2 {@Testoffentlig ugyldig createAndSetName () {Streng forventet = "Y";String faktisk = "Y";Assert.assertEquals (forventet, faktisk);System.out.println ("Suite Test 1 er vellykket" + faktisk);}}
Produksjon
Etter å ha kjørt JunitTest .java som inneholder en suite som har test1.java og test2.java , vil du komme under output:
Sammendrag
I denne opplæringen har du lært grunnleggende om testseler og testpakker i detaljer med et eksempel.
- Test sele eller automatisering Testing er en programvare eller en samling programvare, som gjør det mulig for en bruker å teste data med flere innganger og kontrollere utførelsen
- Test sele 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 fra mange klasser på ett sted og kjøre det sammen.