what is junit test fixture
V tomto výučbe sa dozviete, kedy, prečo a ako používať testovacie zariadenie JUnit s jednoduchými príkladmi testovacieho zariadenia JUnit pre ľahké pochopenie konceptu:
Dozvieme sa -
- Kedy a prečo je potrebné používať testovacie zariadenie?
- Aký je prístup k jeho použitiu v našom kóde pre test JUnit?
- Niekoľko príkladov na pochopenie pojmu „testovacie svietidlo“ paralelne kaskádových s náskokom pred anotáciami životného cyklu JUnit 4, ako sú @Before, @After, @BeforeClass, @AfterClass a @Test.
=> Skontrolujte VŠETKY návody JUnit tu.
Čo sa dozviete:
Testovacie zariadenie JUnit
Keď existuje viac testovacích prípadov v triede JUnit, môže existovať spoločný objekt alebo objekty, ktoré používajú všetky testovacie prípady. V takom prípade môžu existovať špecifické funkcie, ktoré môžu byť spoločné vo všetkých testovacích prípadoch.
To neznamená, že testovacie objekty musia byť zdieľané vo všetkých testovacích prípadoch. Zmena objektu vykonaná v jednom teste nemusí byť zdieľaná vo všetkých testoch, pretože tieto testy sú nezávislé a môžu sa vykonávať v inom poradí podľa ich nastavenej priority.
stránka na pozeranie anime zadarmo
Holistické chápanie výraz „testovacie zariadenie“ je pevný stav v kóde alebo sada pevných krokov v kóde, ktorá sa používa ako predbežná podmienka, a niekoľko ďalších množín krokov, ktoré sa používajú ako dodatočná podmienka pre všetky testy.
Inými slovami teda identifikujeme tie sady príkazov, ktoré sa budú opakovať pre všetky testy, a tým sa pokúsime nastaviť pevné prostredie pre spustenie našich testovacích metód.
The účel použitia nástroja Test Fixture je eliminácia duplikácie spoločného kódu pre všetky testovacie puzdrá.
sql server 2012 rozhovor otázky a odpovede pre skúsených
Skúsme pochopiť praktickú implementáciu testovacieho prípravku v teste JUnit.
metóda setUp ()
- Existujú testy, ktoré vyžadujú inicializáciu určitých objektov (reťazec, celé číslo alebo ArrayList alebo akýkoľvek iný objekt). Môžete vytvoriť metódu public void setUp () v ktorom by ste mohli deklarovať inštančné premenné pre bežné objekty. Túto metódu setUp () umiestnite pod anotáciu @ Predtým . S anotáciou @Before spustí rámec metódu setUp () pred každým vykonaním testovacieho prípadu.
- Metódu setUp () je možné použiť aj v prípade, že chcete ako prvý krok spustiť prehliadač so špecifickou adresou URL, ktorý spustí testovací prípad, ktorý nasleduje po prihlásení do aplikácie s preddefinovanými povereniami.
metóda tearDown ()
- Ak ste v teste pridelili externé zdroje, nezabudnite tiež uvoľniť zdroje. Bolo možné pridať metódu teardown () na vyčistenie objektov po dokončení vykonávania testovacieho prípadu. Podobným spôsobom ako metódu setUp () pridajte metódu strhnutie verejnej neplatnosti () pod @ Potom anotácia. Rámec JUnit zaisťuje, že po spustení každého testovacieho prípadu sa metóda pod @After určite vykoná. Objekty použité v teste musia byť v metóde teardown () nastavené na NULL, aby sa zhromažďovali odpadky z testov.
- Ďalším dobrým kandidátom na vyčistenie objektov je zabitie prehľadávača v činnosti po dokončení testovacieho prípadu a uvoľnenie pamäte zničením použitých objektov.
- Názvy metód setUp () a tearDown () sú iba používateľom definovaný názov. Môžete nastaviť ľubovoľný názov metódy, ktorú chcete. O postupnosti testov rozhodujú iba anotácie použité v metóde.
Príklady testovacích prípravkov JUnit
V tejto časti si prejdeme dva príklady testu JUnit 4 a pokúsime sa pochopiť, ako využiť prístup testovacích prípravkov v našom kóde spolu so sekvenciou rôznych anotácií životného cyklu @Before, @After, @BeforeClass, @AfterClass, a @Test.
Samozrejme bude existovať samostatný návod na anotácie, ktorý objasní, o čo ide a ako jednotlivé anotácie fungujú. Odteraz zostaňme pri porozumení spôsobu použitia testovacieho zariadenia v kóde.
Test JUnit 4 - príklad 1
V tomto príklade budeme mať v triede testovacie prípravky s tromi testovacími prípadmi. Metóda setUp () s anotáciou @Before a metóda tearDown () s anotáciou @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 zobrazené nižšie:
Z okna konzoly je zrejmé, že pred každým testovacím spustením sa vykoná metóda setUp () a po dokončení každého testu sa spustí metóda tearDown ().
Postupnosť vykonania podľa anotácie pre každú testovaciu metódu je teda:
- @ Predtým
- @Test
- @ Potom
Pamätajte, že testy sa tu vykonali v postupnom poradí, tj. Test_JUnit1 (), test_JUnit2 (), test_JUnit3 (), pre test nie je definovaná žiadna postupnosť, a preto sa môžu vykonávať v akomkoľvek poradí. Každý test je izolovaný od druhého testu.
Test JUnit 4 - príklad 2
Tu sa rýchlo pozrime, ako môžeme získať metódu, ktorá bude bežať jedenkrát vôbec prvýkrát v triede, a inú metódu, ktorá bude bežať jednorazovo po vykonaní všetkých testov triedy.
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 anotácie @BeforeClass sme pridali metódu preClass (). Táto metóda sa pre triedu spustí iba raz pred vykonaním testu. Spustí sa ešte predtým, ako sa vykoná metóda v rámci @Before.
Metóda postClass () v anotácii @AfterClass sa spustí raz na konci, keď sa vykonajú a dokončia všetky testy vrátane testu v rámci @After.
Postupnosť skúšobnej prevádzky je nasledovná:
- @BeforeClass
- @ Predtým
- @Test
- @ Potom
- @Po hodine
Metódy uvedené v @BeforeClass a @AfterClass trieda bežne zdieľa, a preto ak metódy nie sú deklarované ako statický potom dáva chyba inicializácie o vykonaní skúšky.
selenium webdriver - otázky a odpovede na 3 roky skúseností
Pozri nasledujúci screenshot, kde sme v anotácii @BeforeClass nenastavili metódu preClass () ako statický a tým došlo k chybe testu pri jeho vykonaní.
Môžete vidieť výsledok zobrazujúci chybu inicializácie, ktorú je možné vylúčiť pri označení metódy ako statickej. To isté platí pre metódu postClass () pod anotáciou @AfterClass.
Záver
Pokúsili sme sa stanoviť kontext dobrých praktických postupov pri programovaní, po ktorých bude následovať implementácia Test prípravku prístup a základné pochopenie použitia a postupnosti vykonávania pre anotácie životného cyklu.
V našom ďalšom návode sa dozvieme o rôzne spôsoby vykonávania testov JUnit v Zatmení. Takže pokračujte v sledovaní série, keď postupujeme so zaujímavejšími aspektmi JUnit.
=> Pozrite sa sem a prezrite si sem návody na výcvik A-Z JUnit.
Odporúčané čítanie
- Testy JUnit: Ako napísať testovacie prípady JUnit s príkladmi
- Výukový program JUnit pre začiatočníkov - Čo je to Testovanie JUnit
- Výukový program pre Python DateTime s príkladmi
- Java String obsahuje () Výukový program metód s príkladmi
- C # Používanie príkazov a C # Virtuálna metóda - výučba s príkladmi
- Úvod do rámca JUnit a jeho použitie v selénovom skripte - selén výučba # 11
- Sprievodca hľadaním prvkov selénom podľa výučby s príkladmi
- Výukový program Java Array Length s príkladmi kódu