JUnit Parametrizovaný test s příkladem pomocí @Parameters

Co je parametrizovaný test v Junit?

Parametrizovaný test má provádět stejný test znovu a znovu s použitím různých hodnot. Pomáhá vývojářům ušetřit čas při provádění stejného testu, který se liší pouze svými vstupy a očekávanými výsledky.

Pomocí parametrizovaného testu lze nastavit testovací metodu, která načítá data z nějakého zdroje dat.

Zvažte jednoduchý test na sečtení různých čísel. Kód může vypadat např.

Parametrizovaný test v Junit

Výše uvedený přístup vede k velké nadbytečnosti.

Potřebujeme jednoduchý přístup a. Pomocí parametrizovaného testu stačí přidat metodu k zadání 10 datových vstupů a váš test se spustí 10krát automaticky.

Kroky k vytvoření parametrizovaného JUnit test

Následující kód ukazuje příklad parametrizovaného testu. Testuje metodu sum() aritmetické třídy:

Krok 1) Vytvořte třídu. V tomto příkladu zadáme dvě čísla pomocí metody sum (int,int), která vrátí součet daných čísel

Kroky k vytvoření parametrizovaného JUnit test

Krok 2) Vytvořte parametrizovanou testovací třídu

Kroky k vytvoření parametrizovaného JUnit test

Vysvětlení kódu

  • 11. řádek kódu: Anotujte svou testovací třídu pomocí @runWith(Parameterized.class).
  • 13. řádek kódu: Deklarování proměnné 'firstNumber' jako soukromé a typu jako int.
  • 14. řádek kódu: Deklarování proměnné 'secondNumber' jako soukromé a typu jako int.
  • 15. řádek kódu: Deklarování proměnné 'expectedResult' jako soukromé a typu int.
  • 16. řádek kódu: Deklarování proměnné 'airthematic' jako soukromé a typu jako Airthematic.

@RunWith(název_třídy.třída): @RunWith anotace se používá k určení názvu třídy běžců. Pokud jako parametr nezadáme žádný typ, vybere si běhové prostředí BlockJunit4ClassRunner ve výchozím stavu.

Tato třída je zodpovědná za testy, které se mají spustit s novou testovací instancí. Je zodpovědný za vyvolání JUnit metody životního cyklu, jako je nastavení (přidružené zdroje) a odstranění (zdroje uvolnění).

Chcete-li parametrizovat, musíte anotovat pomocí @RunWith a předat požadovanou .class k testování

Krok 3) Vytvořte konstruktor, který ukládá testovací data. Ukládá 3 proměnné

Kroky k vytvoření parametrizovaného JUnit test

Krok 4) Vytvořte statickou metodu, která generuje a vrací testovací data.

Kroky k vytvoření parametrizovaného JUnit test

32,33. řádek kódu: Vytvoření dvourozměrného pole (poskytnutí vstupních parametrů pro sčítání). Pomocí metody asList převedeme data na typ List. Protože návratovým typem vstupu metody je kolekce.

30. řádek kódu: Použití @Parametry anotace k vytvoření sady vstupních dat pro spuštění našeho testu.

Statická metoda identifikovaná anotací @Parameters vrátí kolekci, kde každá položka v kolekci bude vstupními daty pro jednu iteraci testu.

Zvažte prvek

1,2,3 {}

Zde

první číslo = 1

secondNumber=2

očekávaný výsledek=3

Zde bude každý prvek pole předán konstruktoru, jeden po druhém, protože třída je vytvořena vícekrát.

Krok 5) Kompletní kód

Kroky k vytvoření parametrizovaného JUnit test

Vysvětlení kódu:

  • 25. řádek kódu: Pomocí anotace @Before k nastavení zdrojů (zde Airthematic.class). Anotace @Before se zde používá ke spuštění před každým testovacím případem. Obsahuje podmínku testu.
  • 36. řádek kódu: Pomocí anotace @Test k vytvoření našeho testu.
  • 39. řádek kódu: Vytváření tvrzení, abychom ověřili, zda je náš součet ekvivalentní tomu, co jsme očekávali.

Krok 6) Vytvořte třídu testovacího běžce pro spuštění parametrizovaného testu:

Kroky k vytvoření parametrizovaného JUnit test

Vysvětlení kódu:

  • 8. řádek kódu: Deklarujeme hlavní metodu třídního testu, který poběží naše JUnit test.
  • 9. řádek kódu: Při provádění testovacích případů pomocí JunitCore.runclasses bude jako parametr použit název testovací třídy (v našem příkladu používáme Airthematic.class).
  • 11. řádek kódu: Zpracování výsledku pomocí smyčky for a tisk neúspěšného výsledku.
  • 13. řádek kódu: Vytiskněte úspěšný výsledek.

Výstup:

Zde je výstup, který ukazuje úspěšný test bez stopy selhání, jak je uvedeno níže:

Kroky k vytvoření parametrizovaného JUnit test

Podívejte se na výsledek na konzoli, která ukazuje sčítání dvou čísel: -

JUnit Parametrizovaný test

Shrnutí

Parametrizovaný test umožňuje vývojáři provádět stejný test znovu a znovu s použitím různých hodnot.

Důležité poznámky, které je třeba použít při parametrizaci

  • @RunWith
  • @Parametry