what is junit test fixture
Ovaj će vam vodič objasniti kada, zašto i kako koristiti JUnit Test Fixture s jednostavnim primjerima JUnit Test Fixture za vaše lako razumijevanje koncepta:
Naučit ćemo -
- Kada i zašto imamo potrebu koristiti ispitni uređaj?
- Kakav je pristup korištenju u našem kodu za JUnit test?
- Nekoliko primjera za razumijevanje izraza „Test Fixture“ paralelno kaskadno započeto u napomenama o životnom ciklusu JUnit 4 poput @Before, @After, @BeforeClass, @AfterClass i @Test.
=> Ovdje provjerite SVE udžbenike za JUnit.
Što ćete naučiti:
JUnit Ispitna učvršćenja
Kada postoji više testnih slučajeva u klasi JUnit, može postojati zajednički objekt ili objekti koje koriste svi testni slučajevi. U ovom bi slučaju mogle postojati određene funkcije koje bi mogle biti zajedničke u svim testnim slučajevima.
To ne znači da ispitne predmete moraju dijeliti svi ispitni slučajevi. Promjena objekta izvršena u jednom testu ne mora se dijeliti u svim testovima, jer su ti testovi neovisni i mogu se izvršiti različitim redoslijedom prema njihovom prioritetnom skupu.
najbolje slušalice za virtualnu stvarnost za ps4
Cjelovito razumijevanje pojam 'Ispitna učvršćenja' je fiksno stanje u kodu ili skup fiksnih koraka u kodu koji se koristi kao preduvjet i nekoliko drugih skupova koraka koji se koriste kao postuslov za sva ispitivanja.
Dakle, drugim riječima, identificiramo one skupove izjava koji će se ponoviti za sve testove i na taj način pokušati postaviti fiksno okruženje za pokretanje naših metoda ispitivanja.
The Svrha Korištenje Test Fixture-a je uklanjanje dupliciranja zajedničkog koda za sve testne slučajeve.
Pitanja i odgovori za intervjuiranje selena za webdriver za iskusne
Pokušajmo razumjeti praktičnu provedbu ispitnog tijela u JUnit testu.
metoda setUp ()
- Postoje testovi kojima je potrebna inicijalizacija određenih objekata (string, integer ili ArrayList ili bilo koji drugi objekt). Možete stvoriti metodu postavljanje javne praznine () u kojem biste mogli deklarirati varijable instance za uobičajene objekte. Postavite ovu metodu setUp () ispod bilješke @Prije . S bilješkom @Before, okvir će pokrenuti metodu setUp () prije svakog izvršenja test slučaja.
- Metoda setUp () također se može koristiti u slučaju da želite pokrenuti preglednik s određenim URL-om kao prvi korak koji pokrećete testni slučaj koji slijedi prijavu u aplikaciju s unaprijed definiranim vjerodajnicama.
metoda tearDown ()
- Ako ste u testu dodijelili vanjske resurse, ne zaboravite ih osloboditi. Metoda teardown () mogla bi se dodati za čišćenje objekata nakon završetka izvršenja test slučaja. Dodajte metodu na sličan način kao metodu setUp () uklanjanje javne praznine () pod, ispod @Nakon bilješka. Okvir JUnit osigurava da se nakon svakog pokretanja testnog slučaja metoda pod @After sigurno izvrši. Objekti korišteni u testu moraju se postaviti NULL u metodi teardown () tako da se smeće iz testova sakuplja.
- Još jedan dobar kandidat za čišćenje predmeta je ubijanje preglednika u akciji nakon dovršetka testnog slučaja i oslobađanje memorije uništavanjem korištenih predmeta.
- Imena metoda setUp () i tearDown () samo su korisničko definirano ime. Možete postaviti bilo koje ime metode koje želite. Redoslijed izvođenja testova odlučuju samo napomene korištene uz metodu.
Primjeri učvršćenja JUnit
U ovom ćemo odjeljku proći kroz dva primjera testa JUnit 4 i pokušati shvatiti kako koristiti pristup ispitnim tijelima u našem kodu zajedno sa slijedom različitih napomena o životnom ciklusu @Before, @After, @BeforeClass, @AfterClass, i @Test.
Naravno, postojat će zaseban vodič o bilješkama koji će pojasniti što su to i kako svaka od bilješki funkcionira. Od sada, pridržavajmo se razumijevanja upotrebe testnog učvršćenja u kodu.
Test JUnit 4 - Primjer 1
U ovom ćemo primjeru imati ispitne uređaje u klasi s tri testna slučaja. Metoda setUp () s oznakom @Before i metoda tearDown () s oznakom @After.
Kodirati:
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('_______________________________________________________
'); } }
Rezultirajući prozor konzole bit će prikazan dolje:
Prozor konzole jasno pokazuje da se prije svakog testnog pokretanja izvršava metoda setUp (), a nakon svakog završetka testa pokreće se metoda tearDown ().
Dakle, slijed izvršavanja po bilješci za svaku metodu ispitivanja je:
- @Prije
- @Test
- @Nakon
Imajte na umu da su se testovi, iako ovdje, izvršavali u slijedu, tj. Test_JUnit1 (), test_JUnit2 (), test_JUnit3 (), za test nije definiran slijed, pa se oni mogu izvršavati u bilo kojem redoslijedu. Svaki test je izoliran od drugog testa.
Test JUnit 4 - Primjer 2
Evo, brzo ćemo vidjeti kako možemo imati metodu koja se prvi put izvodi u klasi i drugu metodu koja se izvršava jednom nakon izvršavanja svih testova za klasu.
Kodirati:
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'); } }
Dodali smo metodu preClass () u bilješku @BeforeClass. Ova se metoda izvodi samo jednom za klasu prije izvođenja testa. Izvodi se čak i prije nego što se izvrši metoda pod @Before.
PostClass () metoda pod oznakom @AfterClass pokreće se jednom na kraju kada se izvrše i dovrše svi testovi, uključujući test pod @After.
Slijed probnog rada je sljedeći:
- @BeforeClass
- @Prije
- @Test
- @Nakon
- @Nakon nastave
Metode pod @BeforeClass i @AfterClass obično dijeli klasa, zbog čega, ako metode nisu deklarirane kao statički tada daje an pogreška inicijalizacije na izvršenju testa.
koje su najbolje aplikacije za virtualnu stvarnost
Pogledajte snimku zaslona u nastavku, gdje nismo postavili metodu preClass () pod oznakom @BeforeClass kao statički i time je test pogriješio u izvršenju.
Možda ćete vidjeti rezultat koji prikazuje pogrešku inicijalizacije koja bi se mogla ukloniti označavanjem metode kao statične. Isto vrijedi i za metodu postClass () pod oznakom @AfterClass.
Zaključak
Pokušali smo postaviti kontekst dobrih programskih praksi koje treba slijediti provedba Ispitna učvršćenja pristup i osnovno razumijevanje upotrebe i redoslijeda izvršavanja napomena o životnom ciklusu.
U našem sljedećem vodiču učimo o različiti načini izvršavanja JUnit testova u eklipsi. Stoga budite prilagođeni seriji dok napredujemo sa zanimljivijim aspektima JUnit-a.
=> Ovdje pogledajte kako biste ovdje vidjeli A-Z udžbenika za JUNIT trening.
Preporučena literatura
- JUnit testovi: Kako napisati JUnit test slučajeve s primjerima
- JUnit lekcije za početnike - što je JUnit testiranje
- Python DateTime Vodič s primjerima
- Java String sadrži () Vodič za metode s primjerima
- C # Korištenje izjave i C # Vodič za virtualne metode s primjerima
- Uvod u JUnit Framework i njegovu upotrebu u skripti za selenij - Vodič za selen br. 11
- Selen Pronađi element pomoću tekstualne lekcije s primjerima
- Vodič o dužini Java polja s primjerima koda