Mi a paraméteres teszt a Junitban?
A paraméteres teszt ugyanazon teszt újra és újra végrehajtása különböző értékek felhasználásával. Segít a fejlesztőnek időt spórolni ugyanazon teszt végrehajtásában, amely csak a bemeneteikben és a várt eredményekben különbözik.
A Parameterized test segítségével beállíthat egy tesztelési módszert, amely valamilyen adatforrásból nyeri az adatokat.
Vegyünk egy egyszerű tesztet a különböző számok összegzésére. A kód így nézhet ki:
A fenti megközelítés sok redundanciához vezet.
Egyszerű megközelítésre van szükségünk és. A paraméterezett teszt használatával egyszerűen hozzáadhat egy módszert 10 adatbevitel beviteléhez, és a teszt automatikusan tízszer fog lefutni.
Paraméterezett JUnit teszt létrehozásának lépései
A következő kód egy példát mutat be egy paraméterezett tesztre. A számtani osztály sum () módszerét teszteli:
1. lépés: Hozzon létre egy osztályt. Ebben a példában két számot fogunk bevinni a sum (int, int) módszerrel, amely visszaadja az adott számok összegét
2. lépés: Hozzon létre egy paraméterezett tesztosztályt
Kód Magyarázat
- 11. kódsor: Jegyezze fel a tesztosztályt a @runWith (Parameterized.class) használatával.
- 13. kódsor : Az 'firstNumber' változó privátnak, a type int-nek nyilvánítása.
- Kódsor 14: A 'secondNumber' változó privátnak nyilvánítása, és típusként int.
- 15. kódsor : A 'várt eredmény' változó privátként és int névként való deklarálása.
- 16. kódsor : Az „airthematic” változó privátnak és típusnak nyilvánítása Airthematic.
@RunWith (class_name.class): @RunWith magyarázat arra használható, hogy a második osztály nevét. Ha semmilyen típust nem adunk meg paraméterként, akkor a futásidő alapértelmezés szerint a BlockJunit4ClassRunner programot választja .
Ez az osztály felelős a tesztek új tesztpéldányokkal történő futtatásáért. Feladata a JUnit életciklus-módszerek, például a beállítás (társított erőforrások) és a lebontás (kiadási erőforrások) meghívása.
A paraméterezéshez meg kell jegyeznie a @RunWith használatával, és át kell adnia a tesztelni kívánt
3. lépés: Hozzon létre egy konstruktort, amely tárolja a tesztadatokat. 3 változót tárol
4. lépés: Hozzon létre egy statikus módszert, amely generálja és visszaadja a tesztadatokat.
Kódsor 32,33: Kétdimenziós tömb létrehozása (bemeneti paraméterek megadása az összeadáshoz). Az asList metódussal konvertáljuk az adatokat Lista típusokká. Mivel a metódus visszatérési típusa a gyűjtés.
30. kódsor : A @Parameters annotációval létrehozhatunk egy bemeneti adatsort a tesztünk futtatásához.
A @Parameters annotációval azonosított statikus módszer egy Gyűjteményt ad vissza, ahol a Gyűjtemény minden bejegyzése a teszt egy iterációjának bemeneti adata lesz.
Tekintsük az elemenent
{1,2,3}
Itt
firstNumber = 1
secondNumber = 2
Várható eredmény = 3
Itt minden tömb elemet egyenként továbbítanak a konstruktornak, mivel az osztályt többször példányosítják.
5. lépés: A teljes kód
Kód Magyarázat:
- 25. kódsor : A @Before kommentár használata az erőforrások beállításához (itt az Airthematic.class). A @Before kommentár itt használható az egyes tesztesetek futtatására. A teszt előfeltételét tartalmazza.
- 36. kódsor : A @Test kommentár használata a teszt létrehozásához.
- 39. kódsor: Állító állítás létrehozása annak ellenőrzésére, hogy az összeg egyenértékű-e azzal, amire számítottunk.
6. lépés: Hozzon létre egy teszt futó osztályt a paraméterezett teszt futtatásához:
Kód Magyarázat:
- 8. kódsor : A JUnit tesztünket lefuttató osztályteszt fő módszerének deklarálása.
- 9. kódsor : Tesztesetek végrehajtása a JunitCore.runclasses használatával a tesztosztály nevét fogja paraméterként figyelembe venni (Példánkban az Airthematic.class-ot használjuk).
- 11. kódsor : Az eredmény feldolgozása a ciklus használatával és a sikertelen eredmények kinyomtatása.
- 13. kódsor: A sikeres eredmény kinyomtatása.
Kimenet:
Itt van az a kimenet, amely a sikeres tesztet mutatja az alábbiak szerint:
Lásd az eredményt a konzolon, amely két szám hozzáadását mutatja: -
Összegzés :
A paraméterezett teszt lehetővé teszi a fejlesztő számára, hogy ugyanazt a tesztet különböző értékek segítségével újra és újra végrehajtsa.
A paraméterezés során használandó fontos megjegyzések
- @RunWith
- @Paraméterek