Testarea cu TestNG în Java
Vreau să vă prezint un alt instrument de testare, în acest scurt articol vom analiza principalele caracteristici ale TestNG.
TestNG - acest cadru de testare scris în Java, a fost nevoie de o mulțime de lucruri cu JUnit și NUnit, dar el nu numai moștenit de la JUnit funcționalitatea existentă, precum și introducerea de caracteristici noi și inovatoare, care fac un puternic, ușor de utilizat.
TestNG este proiectat pentru:
• Testarea integrării, etc.
Care sunt caracteristicile din TestNG?
1) Adnotări. (Abstract);
2) Utilizarea XML pentru configurarea flexibilă a testelor;
3) Suport pentru testarea bazată pe date (folosind adnotarea @DataProvider);
4) Metode dependente de testare a aplicațiilor server;
5) Suportat în Eclipse, IDEA, Ant, Maven, Netbean, Hudson;
6) Testarea codului dvs. este multi-threaded, care oferă securitate și viteză;
7) Trecerea ușoară de la JUnit.
Să scriem primul nostru test folosind TestNG.
Pentru aceasta, voi folosi mediul de dezvoltare Intellij IDEA 12.
Creați un proiect Maven și adăugați dependențele:
După aceasta, creați clasa Calc.java și clasa de test CalcTest.java pentru aceasta.
Conținutul clasei Calc.java:
Conținutul clasei CalcTest.java:
Linia 7 este un exemplu al clasei pe care o vom testa.
A 9-a linie - această adnotare a afirmației că această metodă este testată și poate fi rulată într-un fir separat.
Etapa 2. Primul test
Să scriem un test pentru metoda din clasa Calc.java:
Avem o clasă în care există o metodă care a găsit suma a două numere, pentru care am scris un test în care am verificat că suma numerelor 2 și 3 ar trebui să fie egală cu 5.
Folosind clasa Assert a bibliotecii TestNG, verificăm dacă metoda funcționează corect.
Pasul 3. Executați testele
Acum rulați testul scris.
După efectuarea testului, veți vedea următorul rezultat:
Vedem că testul a mers bine!
După reușita testelor se formează un fișier special xml, cu ajutorul acestuia putem rula din nou testele folosind consola cmd.
Fișierul este localizat de-a lungul acestei căi: C: \ Users \
Puteți executa teste prin consola folosind fișierul temp-testng-vuitun.xml. Pentru aceasta, introduceți cmd și introduceți comanda:
Atenție vă rog!
Clasa de test în cazul nostru este ClacTest.java. trebuie compilat.
Pasul 4. Adnotări TestNG
TestNG este mai flexibil datorită adnotărilor sale. Ce ne dau?
Deci, există 10 adnotări gestionate TestNG:
1. @BeforeSuite - indică faptul că această metodă va fi rulată înainte de orice metodă a clasei de test.
2. @BeforeGroups - adnotă metodele care vor fi executate înainte de prima metodă în oricare dintre grupurile specificate.
3. @BeforeClass - indică faptul că metoda va fi executată după executarea clasei de test, dar înainte de toate metodele de testare.
4. @BeforeTest - metoda adnotată va fi lansată după ce toate metodele de testare au început deja.
5. @AfterTest - Metoda adnotată va fi rulată înainte de orice metodă de testare care aparține clasei din interiorul etichetei
6. @BeforeMethod - metoda adnotată va fi executată înainte de fiecare metodă de testare.
7. @AfterMethod - metoda adnotată va fi rulată după fiecare metodă de testare.
8. @AfterClass - Metoda adnotată va fi pornită după toate metodele de testare din clasa curentă.
9. @AfterGroups - adnotă metodele care vor fi executate după toată metoda în oricare din grupurile specificate.
10. @AfterSuite - indică faptul că această metodă va fi rulată după metoda de testare.
Iată ce ar trebui să obținem:
Iată rezultatul:
Pasul 5. Excepții
Puteți detecta eroarea așteptată cu adnotarea @Test folosind parametrul expectedExceptions:
unde Excepțiile așteptate reprezintă excepția (eroarea) așteptată.
În acest caz, testul va reuși deoarece ne așteptăm ca acest test să ne arunce un NullPointerException.
Pasul 6. Ignorarea metodelor de testare
Uneori este necesar să ignorați metoda de testare, dacă, de exemplu, nu aveți nevoie să efectuați această metodă de testare în următorul test.
Pentru a ignora metoda de testare, trebuie doar să specificați parametrul enabled = false în adnotarea @Test.
Pasul 7. Întârziere
Dacă trebuie să limitați timpul testului pentru o anumită metodă de testare, parametrul timeOut al adnotării @Test vine la salvarea dvs.
în acest caz, metoda de testare va fi copleșită, deoarece termenul de execuție depășește cel specificat.
În linia a 6-a, facem ca firul să adoarmă cu 1001 milisecunde.
Pasul 8. Testarea în grup
Dacă trebuie să executați testele în grupuri, de exemplu, astfel încât metodele de testare să fie efectuate pe rând în funcție de grupuri.
Pentru a face acest lucru, putem folosi atributul groups în adnotarea @Test.
Următorul exemplu are 4 metode de testare, fiecare dintre acestea fiind inclusă în grupul de integrare, metodele testMethod1. testMethod3testingFMethod4 face parte din grupul Unit1. testMethod2 este un membru al grupului unit2.
După ce am scris testele și le-am împărțit în grupuri, să învățăm cum să le conducem.
Pentru a face acest lucru, faceți clic dreapta pe numele clasei de test:
După ce în fereastra care apare, parcurgeți pașii în numere:
După aceasta, faceți clic pe Executare și, ca urmare a executării, veți vedea că au fost executate numai 2 metode de testare care aparțin unității de grup2:
Pasul 9. Teste dependente
Să presupunem că există o clasă de testare în care există două metode de testare, în care unul depinde de celălalt, adică primul nu va reuși până când nu va funcționa al doilea. Să ne uităm cum să procedăm.
Puteți face acest lucru utilizând parametrul dependOnMethods al adnotării @Test:
După cum puteți vedea, metoda de testare testmethod () depinde de metoda de testare initEnvironmentTest () și va fi executată numai după ce se execută metoda initEnvironmentTest ().
De asemenea, dependența poate fi stabilită pe un grup de teste:
Mai întâi, un grup de teste va fi executat și apoi teste care depind de acest grup.
P.S. Vă mulțumim pentru atenție, dacă v-ați plăcut lecția, apoi vă abonați la actualizarea de mai jos.
Reguli pentru retipărirea site-ului www.DevColibri.com
Stimate vizitator al proiectului!
Aveți voie să utilizați în mod liber în scopurile dvs. orice document, sub rezerva următoarelor condiții:
• La sfârșitul documentului reprimat, trebuie să inserați un link către site-ul www.devcolibri.com.
Cu sinceritate, Administrator!
[email protected]