what is junit test fixture
Tento kurz vysvětlí, kdy, proč a jak používat testovací přípravek JUnit s jednoduchými příklady testovacích přípravků JUnit pro snadné pochopení konceptu:
Naučíme se -
- Kdy a proč máme potřebu používat Test Fixture?
- Jaký je přístup k jeho použití v našem kódu pro test JUnit?
- Několik příkladů k pochopení pojmu „testovací svítidlo“ paralelně kaskádově s náskokem anotací životního cyklu JUnit 4, jako jsou @Before, @After, @BeforeClass, @AfterClass a @Test.
=> Zkontrolujte VŠECHNY výukové programy JUnit zde.
Co se naučíte:
Testovací svítidlo JUnit
Pokud existuje více testovacích případů ve třídě JUnit, může existovat společný objekt nebo objekty používané všemi testovacími případy. V tomto případě mohou existovat specifické funkce, které mohou být společné ve všech testovacích případech.
To neznamená, že testovací objekty musí být sdíleny všemi testovacími případy. Změna objektu provedená v jednom testu nemusí být sdílena všemi testy, protože tyto testy jsou nezávislé a mohou být provedeny v jiném pořadí podle jejich sady priorit.
kde streamovat anime zdarma
Holistické chápání výraz „Testovací přípravek“ je pevný stav v kódu nebo sada fixních kroků v kódu, který se používá jako předběžná podmínka a několik dalších sad kroků, které se používají jako podmínka pro všechny testy.
Jinými slovy tedy identifikujeme ty sady příkazů, které se budou opakovat pro všechny testy, a proto zkusíme nastavit pevné prostředí pro spuštění našich testovacích metod.
The účel použití Test Fixture je eliminovat duplikaci společného kódu pro všechny testovací případy.
bezplatný ssh klient pro Windows 10
Zkusme pochopit praktickou implementaci testovacího přípravku v testu JUnit.
metoda setUp ()
- Existují testy, které vyžadují inicializaci určitých objektů (řetězec, celé číslo nebo ArrayList nebo jakýkoli jiný objekt). Můžete vytvořit metodu public void setUp () ve kterém můžete deklarovat proměnné instance pro běžné objekty. Umístěte tuto metodu setUp () pod anotaci @Před . S anotací @Before spustí rozhraní metodu setUp () před každým spuštěním testovacího případu.
- Metodu setUp () lze použít také v případě, že si přejete spustit prohlížeč se specifickou adresou URL, jako první krok spustíte testovací případ, který následuje po přihlášení do aplikace s předdefinovanými pověřeními.
metoda tearDown ()
- Pokud jste při testu přidělili externí zdroje, měli byste také pamatovat na uvolnění prostředků. Metodu teardown () lze přidat pro vyčištění objektů po dokončení provádění testovacího případu. Podobným způsobem jako metoda setUp () přidejte metodu teardown public void () pod @Po anotace. Rámec JUnit zajišťuje, že po spuštění každého testovacího případu se metoda pod @After určitě provede. Objekty použité v testu musí být v metodě teardown () nastaveny na NULL, aby se shromažďovaly odpadky z testů.
- Dalším dobrým kandidátem na vyčištění objektů je zabití prohlížeče v akci po dokončení testovacího případu a uvolnění paměti zničením použitých objektů.
- Názvy metod setUp () a tearDown () jsou pouze uživatelem definovaný název. Můžete nastavit libovolný název metody, který chcete. O pořadí běhu testů rozhodují pouze anotace použité u metody.
Příklady testovacích přípravků JUnit
V této části projdeme dva příklady testu JUnit 4 a pokusíme se pochopit, jak použít přístup Test Fixtures v našem kódu spolu s posloupností různých anotací životního cyklu @Before, @After, @BeforeClass, @AfterClass, a @Test.
Samozřejmě bude existovat samostatný výukový program o anotacích, který objasní, o co jde a jak jednotlivé anotace fungují. Nyní se pojďme držet porozumění používání Test Fixture v kódu.
Test JUnit 4 - Příklad 1
V tomto příkladu budeme mít ve třídě testovací přípravky se třemi testovacími případy. Metoda setUp () s anotací @Before a metoda tearDown () s anotací @After.
Kód:
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JUnitProgram { @Before public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('This is the setUp() method that runs before each testcase'); } @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); } @Test public void test_JUnit2() { System.out.println('This is the testcase test_JUnit2() in this class'); } @Test public void test_JUnit3() { System.out.println('This is the testcase test_JUnit3() in this class'); } @After public void tearDown() { System.out.println('This is the tearDown() method that runs after each testcase'); System.out.println('_______________________________________________________
'); } }
Výsledné okno konzoly bude následující:
Z okna konzoly je zřejmé, že před každým testovacím spuštěním se provede metoda setUp () a po dokončení každého testu se spustí metoda tearDown ().
Pořadí provádění podle anotace pro každou testovací metodu je tedy:
- @Před
- @Test
- @Po
Nezapomeňte, že testy, které zde byly provedeny v postupném pořadí, tj. Test_JUnit1 (), test_JUnit2 (), test_JUnit3 (), nejsou v testu definovány žádné sekvence, a proto je lze provádět v jakémkoli pořadí. Každý test je izolován od druhého testu.
Test JUnit 4 - Příklad 2
Tady se pojďme rychle podívat, jak můžeme mít metodu, která se spustí jednou poprvé ve třídě, a další metodu, která se spustí jednou po provedení všech testů pro třídu.
Kód:
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JUnitProgram { @BeforeClass public static void preClass() { System.out.println('This is the preClass() method that runs one time before the class'); } @Before public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('This is the setUp() method that runs before each testcase'); } @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); } @Test public void test_JUnit2() { System.out.println('This is the testcase test_JUnit2() in this class'); } @Test public void test_JUnit3() { System.out.println('This is the testcase test_JUnit3() in this class'); } @After public void tearDown() { System.out.println('This is the tearDown() method that runs after each testcase'); System.out.println('_______________________________________________________
'); } @AfterClass public static void postClass() { System.out.println('This is the postClass() method that runs one time after the class'); } }
Do poznámky @BeforeClass jsme přidali metodu preClass (). Tato metoda se spustí pouze jednou pro třídu před provedením testu. Spustí se ještě předtím, než se provede metoda v rámci @Before.
Metoda postClass () v anotaci @AfterClass se spustí jednou na konci, když jsou provedeny a dokončeny všechny testy včetně testu pod @After.
Pořadí zkušebního chodu je následující:
- @Před hodinou
- @Před
- @Test
- @Po
- @Po hodině
Metody pod @BeforeClass a @AfterClass jsou běžně sdíleny třídou, což je důvod, proč, pokud metody nejsou deklarovány jako statický pak dává chyba inicializace o provedení zkoušky.
co je dobrá e-mailová služba
Podívejte se na níže uvedený snímek obrazovky, kde jsme metodu preClass () v anotaci @BeforeClass nenastavili jako statický a tím došlo k chybě testu při provádění.
Může se zobrazit výsledek zobrazující chybu inicializace, kterou lze vyloučit při označení metody jako statické. Totéž platí pro metodu postClass () pod anotací @AfterClass.
Závěr
Pokusili jsme se stanovit kontext týkající se osvědčených programovacích postupů, kterými se má řídit implementace Testovací přípravek přístup a základní porozumění použití a posloupnosti provádění pro anotace životního cyklu.
V našem dalším kurzu se dozvíme o různé způsoby provádění testů JUnit v Eclipse. Pokračujte tedy v sérii, jak postupujeme se zajímavějšími aspekty JUnit.
=> Chcete-li zde zobrazit výukové programy školení JUnit, podívejte se sem.
Doporučené čtení
- Testy JUnit: Jak psát testovací případy JUnit s příklady
- Výukový program JUnit pro začátečníky - Co je to testování JUnit
- Výukový program Python DateTime s příklady
- Java String obsahuje () Výukový program metod s příklady
- C # Použití příkazu a C # Virtuální metoda s příklady
- Úvod do rámce JUnit a jeho použití v Selenium Script - Selenium Tutorial # 11
- Výukový program pro vyhledání prvku selen pomocí textu s příklady
- Výukový program Java Array Length s příklady kódu