Teremt JUnit Tesztcsomag példával: @RunWith @SuiteClasses

A Junitban a tesztcsomag lehetővé teszi, hogy több osztály összes tesztesetét egy helyen összesítsük, és együtt futtassuk.

A csomagteszt futtatásához megjegyzésekkel kell ellátnia egy osztályt az alábbi megjegyzésekkel:

  1. @Runwith(Suite.class)
  2. @SuiteClasses(test1.class,test2.class……) vagy@Suite.SuiteClasses ({teszt1.osztály, teszt2.osztály….})

A fenti megjegyzésekkel a programcsomag összes tesztosztálya egyesével elindul.

A Test Suite és a Test Runner létrehozásának lépései

Step 1) Hozzon létre egy egyszerű tesztosztályt (pl. MyFirstClassTest), és adjon hozzá egy @test megjegyzéssel ellátott metódust.

A Test Suite és a Test Runner létrehozásának lépései

Step 2) Hozzon létre egy másik tesztosztályt a hozzáadáshoz (pl. MySecondClassTest), és hozzon létre egy metódust a @test megjegyzéssel.

A Test Suite és a Test Runner létrehozásának lépései

Step 3) A testSuite létrehozásához először megjegyzéseket kell fűznie az osztályhoz a @RunWith(Suite.class) és a @SuiteClasses(class1.class2…..) elemekkel.

A Test Suite és a Test Runner létrehozásának lépései

Step 4) Hozzon létre egy Test Runner osztályt tesztcsomagunk futtatásához az alábbiak szerint;

A Test Suite és a Test Runner létrehozásának lépései

Kód magyarázata:

  • 8. kódsor: Az osztályteszt fő metódusának deklarálása, amely lefuttatja a mi JUnit teszt.
  • 9. kódsor: Tesztesetek végrehajtása a JunitCore.runclasses használatával, amely paraméterként veszi a tesztosztály nevét (a fenti példában a 3. lépésben látható TestSuiteExample.classt használja).
  • 11. kódsor: Az eredmény feldolgozása a for ciklus használatával és a sikertelen eredmény kinyomtatása.
  • 13. kódsor: A sikeres eredmény kinyomtatása.

output: Íme a kimenet, amely sikeres tesztet mutat hibanyomok nélkül, az alábbiak szerint:

A Test Suite és a Test Runner létrehozásának lépései

JUnit Test Suite példa

Vegyünk egy bonyolultabb példát

JunitTest.java

A JunitTest.java egy egyszerű osztály, amelyhez megjegyzések vannak ellátva @RunWith és a @Lakosztály megjegyzések. Az alábbiak szerint paraméterként felsorolhatja a csomagban található .classok számát:

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 egy tesztosztály, amelynek tesztmódszere van egy üzenet kinyomtatására az alábbiak szerint. Ezt az osztályt csomagként fogja használni a fent említett osztályban.

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 egy másik tesztosztály, amelyhez hasonló SuiteTest1.java tesztelési módszerrel egy üzenet kinyomtatására az alábbiak szerint. Ezt az osztályt lakosztályként fogja használni 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);							
    }		

}		

teljesítmény

A végrehajtás után JunitTest.java, amely tartalmaz egy csomagot teszt1.java és a teszt2.java, az alábbi kimenetet kapja:

SuiteTest2.Java teljesítmény

SuiteTest2.Java teljesítmény

Összegzésként

Ebben az oktatóanyagban részletesen megtanulta a tesztheveder és a tesztcsomagok alapjait egy példával.

  • Tesztelje a kábelköteget vagy az automatizálást Tesztelés egy szoftver vagy szoftvergyűjtemény, amely lehetővé teszi a felhasználó számára, hogy több bemenettel tesztelje az adatokat, és szabályozza a végrehajtást
  • A tesztkábel tulajdonképpen egy olyan teszt keretrendszert tesz lehetővé, amely elvégzi a tesztek végrehajtásának minden feladatát egy tesztkönyvtár használatával és a tesztjelentés létrehozásával.
  • A Junitban a tesztcsomag lehetővé teszi számos osztály összes tesztesetének egy helyen történő összesítését és együttes futtatását.