Úvod do anotací JUnit

JUnit je jedním z nejvýkonnějších testovacích rámců založených na Java a open source, dostupných na trhu zdarma. Pomáhá při snadném a rychlém vytváření testovacích případů a provádění testovacích případů podle požadavků pomocí anotací. Anotace v zásadě poskytují další informace o třídách a metodách používaných v kódu Java. Pomáhá při provádění testování každé jednotlivé komponenty, ať už jde o metody, třídy, balíčky a proměnné. Běžně se používá pro testování aplikací. Nejnovější aktualizace JUnit je JUnit5. Podporuje webový ovladač Selenium pro automatické testování webových a mobilních aplikací. org. Junit je balíček, který obsahuje všechna rozhraní a třídy pro testování pomocí JUnit.

JUnit Anotace s Příkladem

Níže jsou uvedeny některé z poznámek JUnit:

1. @Before

Existují scénáře, kdy je třeba před provedením skutečného testovacího případu vytvořit některé testovací případy nebo testovací data. V takovém případě na obrázek přišly anotace @Before. Anotace jakékoli veřejné metody pomocí této anotace umožňuje spuštění kódu / metody před každou skutečnou metodou @test. V případě dědičnosti se nejprve označují metody @before nadřazené třídy a potom metody @before aktuální třídy.

2. @ Po

Je to právě opak anotace @Before. Používá se v případech, kdy je třeba provést některé akce, jako je uvolnění prostředků, vyčištění paměti, tisk cokoli na konzoli po provedení metody @test (po provedení každého testovacího případu). Jeden důležitý bod, který by měl být zaznamenán pro anotaci @, je, že se spustí i v případě, že metody @test nebo @before vyvolají výjimku. V případě vztahu podtřídy a nadtřídy je metoda @after podtřídy / aktuální třídy provedena před metodou @after nadtřídy.

3. @BeforeClass

Tato anotace se používá ve scénářích, kdy je třeba provést některé akce před provedením jakéhokoli testovacího případu konkrétní třídy, jako je vytvoření spojení s databází, vytvoření záznamu v databázi, záznam v protokolech atd. Když @BeforeClass anotace se používá před jakoukoli metodou, která se provede před jakoukoli testovací metodou ve třídě. Jeho práce je podobná anotaci @Before, pouze v tom, že @Before provádí metodu před provedením každé @testové metody, zatímco @BeforeClass se provádí pouze jednou, tj. Před provedením jakékoli @testové metody ve třídě.

4. @AfterClass

Všechny prostředky přidělené v metodě @BeforeClass musí být uvolněny po provedení všech metod @test aktuální třídy. Toto rozdělení prostředků nebo jakýkoli důležitý úkol, který se má provést po provedení celé třídy, se provádí metodou @AfterClass. Zjednodušeně řečeno, metoda @AfterClass se spustí po provedení všech metod @test aktuální třídy. Provede se pouze jednou. Metody @AfterClass jsou povinné, i když metody @BeforeClass vyvolávají výjimku.

Podobně jako metoda @After je práce metody @AfterClass podobná, kromě skutečnosti, že metoda @After se provádí po každé metodě @test třídy, zatímco metoda @AfterClass se provádí jednou po provedení všech metod @test třídy.

5. @Test

Tato anotace určuje, že veřejná metoda v rámci této anotace je součástí hlavního testovacího případu, který je třeba provést. Metoda v testu @test definuje testovací případ jako předaný nebo neúspěšný v závislosti na tom, zda při jeho provádění dojde k nějaké výjimce / chybě.

Může být také použit dvěma způsoby:

  • @Test (timeout = 500): Bere parametr jako časový limit, který přijímá hodnoty v milisekundách. Testovací případ považuje za neúspěšný, pokud jeho provedení trvá déle, než je očekávaná doba, a uplyne, když se úspěšně spustí ve stanovené lhůtě.
  • @Test (očekávané = Exception.class): Existují situace, kdy chceme, aby některé metody vyvolaly konkrétní výjimku. Testovací případ selže, pokud metoda nevyvolá žádnou výjimku nebo výše uvedenou výjimku.

6. @ Ignore

Existují scénáře, kdy chceme ignorovat několik testovacích případů a nechceme je spouštět. @Ignore k tomu pomáhá. Metody v anotacích @Ignore nejsou prováděny a během provádění kódu jsou ignorovány. I ve zprávách generovaných TestNG zobrazuje počet testovacích případů, které jsou ignorovány, a počet testovacích případů předaných.

Příklad

Vezměme si příklad anotací JUnit

package demo;
import org.junit.*;
public class JUnitAnnotationTest (
// Run once, before any @test method in the class are executed
@BeforeClass
public static void bClass() (
System.out.println("BeforeClass method is called”);
)
// Run once after all the @test methods of the class are executed
@AfterClass
public static void aClass() (
System.out.println("AfterClass method is called");
)
// Run before every @test method of a class is executed
@Before
public void bMethod() (
System.out.println("before method is called");
)
// Run after every @test method of class is executed
@After
public void aMethod() (
System.out.println("after method is called");
)
// Test method which has actual test case
@Test
public void testMethod() (
System.out.println("Test method is called");
)
)

Výstup:

Výhody anotací JUnit

Níže jsou uvedeny některé z výhod anotací JUnit:

  1. JUnit poskytuje snadný způsob, jak provést testovací případy specifickým způsobem podle požadavků uživatele.
  2. Je snadné provést několik testovacích případů paralelně pomocí JUnit jejich kombinací v testovací sadě.
  3. JUnit anotace používané pro automatizaci testovacích případů v Selenu poskytují velmi podrobnou a interaktivní grafickou zprávu uživateli, která je také velmi uživatelsky přívětivá.
  4. JUnit umožňuje předávat parametry v metodě velmi jednoduchým způsobem.
  5. Anotace JUnit pomáhá provádět čisté kódování, které je pro testery i programátory velmi snadno srozumitelné.

Závěr

Výše uvedené vysvětlení jasně popisuje důležitost rámce JUnit a pořadí, ve kterém jsou vyvolány různé anotace JUnit. Před použitím v anotacích je velmi důležité porozumět různým anotacím, aby nevytvářely žádný problém při řízení toku provádění.

Doporučené články

Toto je průvodce anotacemi JUnit. Zde diskutujeme o úvodu a anotacích JUnit s příkladem, který zahrnuje @ Before, @ After, @ Test, @Ignore atd. Další informace naleznete také v našich dalších doporučených článcích -

  1. Testování jednotky
  2. Testování bílé skříňky
  3. Selenová architektura
  4. Vyzkoušejte kabelový svazek

Kategorie: