Opret JUnit Test Suite med eksempel: @RunWith @SuiteClasses

Indholdsfortegnelse:

Anonim

I Junit giver testpakke os mulighed for at samle alle testcases fra flere klasser ét sted og køre det sammen.

For at køre suite-testen skal du kommentere en klasse ved hjælp af nedenstående kommentarer:

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

    @ Suite.SuiteClasses ({test1.class, test2.class

    ...})

Med ovenstående bemærkninger begynder alle testklasser i pakken at udføre en efter en.

Trin til at oprette Test Suite og Test Runner

Trin 1) Opret en simpel testklasse (f.eks. MyFirstClassTest) og tilføj en metode, der er kommenteret med @test.

Trin 2) Opret en anden testklasse, der skal tilføjes (f.eks. MySecondClassTest), og opret en metode, der er kommenteret med @test.

Trin 3) For at oprette en testSuite skal du først kommentere klassen med @RunWith (Suite.class) og @SuiteClasses (class1.class2

...).

Trin 4) Opret en Test Runner-klasse til at køre vores testpakke som angivet nedenfor;

Kode Forklaring:

  • Kodelinje 8: Erklærer hovedmetoden til klassetesten, der kører vores JUnit-test.
  • Kodelinje 9: Udførelse af testsager ved hjælp af JunitCore.runclasses, der tager testklassens navn som parameter (I eksemplet ovenfor bruger du TestSuiteExample.class vist i trin 3).
  • Kodelinje 11: Behandling af resultatet ved hjælp af loop og udskrivning af mislykket resultat.
  • Kodelinje 13: Udskrivning af det vellykkede resultat.

Output: Her er output, der viser vellykket test uden fejlsporing som angivet nedenfor:

Eksempel på JUnit Test Suite

Overvej et mere komplekst eksempel

JunitTest.java

JunitTest.java er en simpel klasse, der er kommenteret med @RunWith- og @Suite- annoteringer. Du kan angive antallet af .klasser i pakken som parametre som angivet nedenfor:

pakke guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.klasse,SuiteTest2.class,})offentlig klasse JunitTest {// Denne klasse forbliver tom, den bruges kun som indehaver af ovenstående kommentarer}

SuiteTest1.java

SuiteTest1.java er en testklasse, der har en testmetode til at udskrive en besked som angivet nedenfor. Du bruger denne klasse som en suite i ovennævnte klasse.

pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Test;offentlig klasse SuiteTest1 {public String message = "Saurabh";JUnitMessage junitMessage = ny JUnitMessage (besked);@Test (forventet = ArithmeticException.class)offentlig ugyldig testJUnitMessage () {System.out.println ("Junit-meddelelse udskrives");junitMessage.printMessage ();}@Prøveoffentlig ugyldig testJUnitHiMessage () {message = "Hej!" + besked;System.out.println ("Junit Hej besked udskrives");assertEquals (besked, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 er vellykket" + besked);}}

SuiteTest2.java

SuiteTest2.java er en anden testklasse, der ligner SuiteTest1.java, der har en testmetode til at udskrive en besked som angivet nedenfor. Du bruger denne klasse som suite i JunitTest.java .

pakke guru99.junit;import org.junit.Assert;import org.junit.Test;offentlig klasse SuiteTest2 {@Prøveoffentlig ugyldighed createAndSetName () {Streng forventet = "Y";Streng faktisk = "Y";Assert.assertEquals (forventet, faktisk);System.out.println ("Suite Test 1 er vellykket" + faktisk);}}

Produktion

Efter at have udført JunitTest .java, som indeholder en suite med test1.java og test2.java , kommer du under output:

Resumé

I denne vejledning har du lært det grundlæggende om testseler og testpakker i detaljer med et eksempel.

  • Test seletøj eller automatisering Test er en software eller en samling af software, der giver brugeren mulighed for at teste data med flere input og kontrollere udførelsen
  • Test sele muliggør faktisk en testramme, der gør alt arbejdet med at udføre tests ved hjælp af et testbibliotek og generere en testrapport
  • I Junit giver testpakken os mulighed for at samle alle testtilfælde fra mange klasser ét sted og køre det sammen.