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;
Code Magyarázat:
- Code 8 vonal: Az osztályteszt fő metódusának deklarálása, amely lefuttatja a mi JUnit teszt.
- Code 9 vonal: 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).
- Code 11 vonal: Az eredmény feldolgozása a for ciklus használatával és a sikertelen eredmény kinyomtatása.
- Code 13 vonal: A sikeres eredmény kinyomtatása.
output: Itt látható a kimenet, amely sikeres tesztet mutat hibák nélkül trace 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.







