JUnit Test parametrizat cu exemplu folosind @Parameters
Ce este testul parametrizat în Junit?
Testul parametrizat este de a executa același test din nou și din nou folosind valori diferite. Ajută dezvoltatorul să economisească timp în executarea aceluiași test, care diferă doar în ceea ce privește intrările și rezultatele așteptate.
Folosind testul parametrizat, se poate configura o metodă de testare care preia date dintr-o sursă de date.
Luați în considerare un test simplu pentru a însuma numere diferite. Codul poate arăta ca -
Abordarea de mai sus duce la o mulțime de redundanțe.
Avem nevoie de o abordare simplă și. Folosind testul parametrizat, puteți doar să adăugați o metodă pentru a introduce 10 intrări de date, iar testul dumneavoastră va rula de 10 ori automat.
Pași pentru a crea un parametrizat JUnit test
Următorul cod arată un exemplu pentru un test parametrizat. Testează metoda sum() din clasa Aritmetică:
Pas 1) Creați o clasă. În acest exemplu, vom introduce două numere folosind metoda sum (int,int) care va returna suma numerelor date
Pas 2) Creați o clasă de test parametrizată
Explicarea codului
- Linia de cod 11: Adnotă clasa ta de testare folosind @runWith(Parameterized.class).
- Linia de cod 13: Declararea variabilei „firstNumber” ca private și tipul ca int.
- Linia de cod 14: Declararea variabilei „secondNumber” ca privat și tipul ca int.
- Linia de cod 15: Declararea variabilei „expectedResult” ca fiind privată și tipul ca int.
- Linia de cod 16: Declararea variabilei „airthematic” ca fiind privată și tipul ca Airthematic.
@Alearga cu(nume_clasa.clasa): @Alearga cu adnotarea este utilizată pentru a specifica numele clasei de alergător. Dacă nu specificăm niciun tip ca parametru, runtime-ul va alege BlockJunit4ClassRunner în mod implicit.
Această clasă este responsabilă pentru rularea testelor cu o nouă instanță de testare. Este responsabil de invocare JUnit metode de ciclu de viață, cum ar fi configurarea (resurse asociate) și demontare (resurse de eliberare).
Pentru a parametriza trebuie să adnotați folosind @RunWith și să treceți .class necesar pentru a fi testat
Pas 3) Creați un constructor care stochează datele de testare. Stochează 3 variabile
Pas 4) Creați o metodă statică care generează și returnează date de testare.
Linia de cod 32,33: Crearea unei matrice bidimensionale (furnizarea parametrilor de intrare pentru adăugare). Folosind metoda asList convertim datele intr-un tip List. Din moment ce, tipul de returnare al metodei de intrare este colectarea.
Linia de cod 30: Utilizarea @Parametrii adnotare pentru a crea un set de date de intrare pentru a rula testul nostru.
Metoda statică identificată prin adnotarea @Parameters returnează o colecție în care fiecare intrare din colecție va fi datele de intrare pentru o iterație a testului.
Luați în considerare elementul
1,2,3 {}
Aici
primulNumăr =1
secondNumber=2
rezultatul așteptat=3
Aici fiecare element de matrice va fi transmis constructorului, unul câte unul, deoarece clasa este instanțiată de mai multe ori.
Pas 5) Codul complet
Explicația codului:
- Linia de cod 25: Folosind adnotarea @Before pentru a configura resursele (Airthematic.class aici). Adnotarea @Before este folosită aici pentru a rula înainte de fiecare caz de testare. Conține condiția prealabilă a testului.
- Linia de cod 36: Folosind adnotarea @Test pentru a crea testul nostru.
- Linia de cod 39: Crearea unei declarații assert pentru a verifica dacă suma noastră este echivalentă cu ceea ce ne așteptam.
Pas 6) Creați o clasă de alergător de testare pentru a rula testul parametrizat:
Explicația codului:
- Linia de cod 8: Declararea metodei principale a testului de clasă care va rula JUnit Test.
- Linia de cod 9: Executarea cazurilor de testare folosind JunitCore.runclasses, va lua numele clasei de testare ca parametru (În exemplul nostru folosim Airthematic.class).
- Linia de cod 11: Procesarea rezultatului utilizând bucla for și imprimarea rezultatului eșuat.
- Linia de cod 13: Imprimarea rezultatului de succes.
ieșire:
Iată rezultatul care arată testul reușit fără urmă de eșec, așa cum este prezentat mai jos:
Vedeți rezultatul pe consolă, care arată adăugarea a două numere:-
Rezumat
Testul parametrizat permite dezvoltatorului să execute același test din nou și din nou folosind valori diferite.
Adnotări importante care trebuie utilizate în timpul parametrizării
- @Alearga cu
- @Parametrii