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:
- @Runwith(Suite.class)
- @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.
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.
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.
Step 4) Hozzon létre egy Test Runner osztályt tesztcsomagunk futtatásához az alábbiak szerint;
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:
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:
Ö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.