Čo je parametrizovaný test v Junite?
Parametrizovaným testom je vykonávanie rovnakého testu opakovane s rôznymi hodnotami. Pomáha vývojárovi ušetriť čas pri vykonávaní rovnakého testu, ktorý sa líši iba ich vstupmi a očakávanými výsledkami.
Pomocou parametrizovaného testu je možné nastaviť testovaciu metódu, ktorá načítava údaje z nejakého zdroja údajov.
Zvážte jednoduchý test na sčítanie rôznych čísel. Kód môže vyzerať ako -
Vyššie uvedený prístup vedie k veľkej nadbytočnosti.
Potrebujeme jednoduchý prístup a. Pomocou parametrizovaného testu stačí pridať metódu na zadanie 10 dátových vstupov a váš test prebehne 10-krát automaticky.
Kroky na vytvorenie parametrizovaného testu JUnit
Nasledujúci kód zobrazuje príklad parametrizovaného testu. Testuje metódu súčtu () aritmetickej triedy:
Krok 1) Vytvorte triedu. V tomto príklade zadáme dve čísla pomocou metódy sum (int, int), ktorá vráti súčet daných čísel
Krok 2) Vytvorte parametrizovanú testovaciu triedu
Vysvetlenie kódu
- Riadok kódu 11: Anotujte svoju testovaciu triedu pomocou @runWith (Parameterized.class).
- Riadok kódu 13: Deklarácia premennej „firstNumber“ ako súkromnej a typu int.
- Riadok kódu 14: Deklarovanie premennej „secondNumber“ ako súkromnej a zadanie typu int.
- Riadok kódu 15: Deklarovanie premennej „expectResult“ ako súkromnej a typu int.
- Riadok kódu 16: Deklarácia premennej „airthematic“ ako súkromnej a typ ako Airthematic.
@RunWith (class_name.class): anotácia @RunWith sa používa na zadanie názvu triedy bežca. Ak ako parameter nezadáme žiadny typ, runtime predvolene zvolí BlockJunit4ClassRunner .
Táto trieda je zodpovedná za vykonávanie testov s novou inštanciou testu. Je zodpovedný za vyvolanie metód životného cyklu JUnit, ako sú napríklad nastavenie (priradiť zdroje) a teardown (uvoľnenie zdrojov).
Ak chcete parametrizovať, musíte anotovať pomocou @RunWith a odovzdať požadovanú .class, ktorá sa má otestovať
Krok 3) Vytvorte konštruktor, ktorý uloží údaje o teste. Ukladá 3 premenné
Krok 4) Vytvorte statickú metódu, ktorá generuje a vracia testovacie údaje.
Riadok kódu 32,33: Vytvorenie dvojrozmerného poľa (poskytnutie vstupných parametrov na doplnenie). Použitím metódy asList prevedieme dáta do typu List. Pretože návratový typ vstupu metódy je zber.
Riadok kódu 30: Použitie anotácie @Parameters na vytvorenie množiny vstupných údajov na vykonanie nášho testu.
Statická metóda identifikovaná v anotácii @Parameters vráti kolekciu, kde každý záznam v kolekcii bude vstupnými údajmi pre jednu iteráciu testu.
Zvážte elemenenta
{1,2,3}
Tu
firstNumber = 1
druhé číslo = 2
expectResult = 3
Tu bude každý prvok poľa odovzdaný konštruktoru, jeden po druhom, pretože trieda je inštancovaná viackrát.
Krok 5) Celý kód
Vysvetlenie kódu:
- Riadok kódu 25: Použitie anotácie @Before na nastavenie zdrojov (Airthematic.class tu). Anotácia @Before sa tu používa na spustenie pred každým testovacím prípadom. Obsahuje predpoklad skúšky.
- Riadok kódu 36: Použitie anotácie @Test na vytvorenie nášho testu.
- Riadok kódu 39: Vytvorenie vyhlásenia tvrdenia na kontrolu, či je naša suma ekvivalentná tomu, čo sme očakávali.
Krok 6) Vytvorte triedu testovacieho bežca na spustenie parametrizovaného testu:
Vysvetlenie kódu:
- Riadok kódu 8: Deklarovanie hlavnej metódy triedneho testu, ktorým sa spustí náš test JUnit.
- Riadok kódu 9: Vykonávanie testovacích prípadov pomocou nástroja JunitCore.runclasses, bude ako parameter brať názov testovacej triedy (v našom príklade používame Airthematic.class).
- Riadok kódu 11: Spracovanie výsledku pomocou cyklu for a vytlačenie neúspešného výsledku.
- Riadok kódu 13: Vytlačenie úspešného výsledku.
Výkon:
Tu je výstup, ktorý zobrazuje úspešný test bez sledovania poruchy, ako je uvedené nižšie:
Výsledok nájdete na konzole, ktorá zobrazuje sčítanie dvoch čísel: -
Zhrnutie :
Parametrizovaný test umožňuje vývojárovi opakovane vykonávať rovnaký test s rôznymi hodnotami.
Dôležité parametre, ktoré sa majú použiť počas parametrizácie
- @RunWith
- @Parametre