JUnit Paraméteres teszt példával a @Parameters használatával

Mi az a paraméteres teszt a Junitban?

A paraméterezett teszt során ugyanazt a tesztet kell újra és újra végrehajtani, különböző értékekkel. Segítségével a fejlesztő időt takaríthat meg ugyanazon teszt végrehajtása során, amely csak a bemeneti adatokban és a várt eredményekben tér el.

A Paraméteres teszt segítségével beállíthatunk egy olyan vizsgálati módszert, amely adatokat kér le valamilyen adatforrásból.

Vegyünk egy egyszerű tesztet különböző számok összegzésére. A kód így nézhet ki –

Paraméteres teszt Junitban

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 metódust 10 adatbevitelhez, és a teszt 10-szer automatikusan lefut.

A paraméterezett létrehozásának lépései JUnit teszt

A következő kód példát mutat egy paraméterezett tesztre. Az aritmetikai osztály sum() metódusát teszteli:

Step 1) Hozzon létre egy osztályt. Ebben a példában két számot fogunk beírni az összeg (int,int) módszerrel, amely a megadott számok összegét adja vissza

A paraméterezett létrehozásának lépései JUnit Tesztelés

Step 2) Hozzon létre egy paraméterezett tesztosztályt

A paraméterezett létrehozásának lépései JUnit Tesztelés

Code Magyarázat

  • Code 11 vonal: Jegyezze fel tesztosztályát a @runWith(Parameterized.class) használatával.
  • Code 13 vonal: A 'firstNumber' változó privátként való deklarálása, a típus pedig int.
  • Code 14 vonal: A 'secondNumber' változó privátként való deklarálása és a típus int.
  • Code 15 vonal: Az 'expectedResult' változó privátként való deklarálása és az int típus megadása.
  • Code 16 vonal: Az 'airthematic' változó privátként való deklarálása, a típus pedig Airthematic.

@RunWith(class_name.class): @RunWith az annotáció a futóosztály nevének megadására szolgál. Ha nem adunk meg semmilyen típust paraméterként, akkor a futási környezet választ BlockJunit4ClassRunner alapértelmezés szerint.

Ez az osztály felelős az új tesztpéldánnyal futtatandó tesztekért. Felelős a behívásért JUnit életciklus-módszerek, mint például a beállítás (társított erőforrások) és a teardown (az erőforrások felszabadítása).

A paraméterezéshez megjegyzéseket kell írnia a @RunWith használatával, és át kell adnia a szükséges .class-t a teszteléshez

Step 3) Hozzon létre egy konstruktort, amely tárolja a tesztadatokat. 3 változót tárol

A paraméterezett létrehozásának lépései JUnit Tesztelés

Step 4) Hozzon létre egy statikus metódust, amely tesztadatokat generál és visszaad.

A paraméterezett létrehozásának lépései JUnit Tesztelés

Code 32,33 vonal: Kétdimenziós tömb létrehozása (bemeneti paraméterek megadása az összeadáshoz). Az asList módszerrel az adatokat List típusúvá alakítjuk. Mivel a metódus bemenetének visszatérési típusa a gyűjtés.

Code 30 vonal: <p></p> @Paraméterek megjegyzést, hogy létrehozzon egy bemeneti adatkészletet a teszt futtatásához.

A @Parameters annotáció által azonosított statikus metódus egy gyűjteményt ad vissza, ahol a gyűjtemény minden egyes bejegyzése a teszt egy iterációjának bemeneti adata lesz.

Vegye figyelembe az elemet

1,2,3 {}

Itt

firstNumber =1

secondNumber=2

várt eredmény=3

Itt minden tömbelem átadásra kerül a konstruktornak, egyenként, mivel az osztály többször példányosodik.

Step 5) A teljes kód

A paraméterezett létrehozásának lépései JUnit Tesztelés

Code Magyarázat:

  • Code 25 vonal: A @Before annotation használata az erőforrások beállításához (Airthematic.class itt). A @Before annotáció itt minden teszteset előtt lefut. Tartalmazza a teszt előfeltételét.
  • Code 36 vonal: @Test annotáció használata tesztünk elkészítéséhez.
  • Code 39 vonal: Állítási utasítás létrehozása annak ellenőrzésére, hogy az összegünk megegyezik-e azzal, amit vártunk.

Step 6) Hozzon létre egy tesztfutó osztályt a paraméterezett teszt futtatásához:

A paraméterezett létrehozásának lépései JUnit Tesztelés

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: A tesztesetek végrehajtása a JunitCore.runclasses használatával a tesztosztály nevét veszi paraméterként (példánkban az Airthematic.classt használjuk).
  • 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:

A paraméterezett létrehozásának lépései JUnit Tesztelés

Tekintse meg az eredményt a konzolon, amely két szám hozzáadását mutatja: -

JUnit Paraméterezett teszt

Összegzésként

A paraméterezett teszt lehetővé teszi a fejlesztőnek, hogy ugyanazt a tesztet újra és újra végrehajtsa különböző értékekkel.

A paraméterezés során használandó fontos megjegyzések

  • @RunWith
  • @Paraméterek

Foglald össze ezt a bejegyzést a következőképpen: