Ce este testul parametrizat în Junit?
Testul parametrizat este acela 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 de intrările lor și de 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 diferite numere. Codul poate arăta ca -
Abordarea de mai sus duce la multă redundanță.
Avem nevoie de o abordare simplă și. Folosind testul parametrizat, puteți adăuga o metodă pentru a introduce 10 date de intrare, iar testul dvs. va rula de 10 ori automat.
Pași pentru a crea un test JUnit parametrizat
Codul următor arată un exemplu pentru un test parametrizat. Testează metoda sum () a clasei aritmetice:
Pasul 1) Creați o clasă. În acest exemplu, vom introduce două numere utilizând metoda sum (int, int) care va returna suma numerelor date
Pasul 2) Creați o clasă de test parametrizată
Explicarea codului
- Linia de cod 11: Adnotați clasa de test folosind @runWith (Parameterized.class).
- Linia de cod 13: Declararea variabilei „firstNumber” ca privată și tastați ca int.
- Linia de cod 14: Declararea variabilei „secondNumber” ca fiind privată și tastați ca int.
- Linia de cod 15: Declararea variabilei „expectedResult” ca fiind privată și tastați ca int.
- Linia de cod 16: Declararea variabilei „airthematic” ca fiind privată și tastați ca Airthematic.
@RunWith ( class_name.class ): @RunWith adnotare este utilizată pentru a specifica numele clasei de alergător. Dacă nu specificăm niciun tip ca parametru, runtime-ul va alege implicit BlockJunit4ClassRunner .
Această clasă este responsabilă pentru testele care se execută cu o nouă instanță de testare. Este responsabil pentru invocarea metodelor JUnit din ciclul de viață, cum ar fi configurarea (resurse asociate) și eliminarea (resursele de lansare)
Pentru parametrizare, trebuie să adnotați folosind @RunWith și să treceți .classul necesar pentru a fi testat
Pasul 3) Creați un constructor care stochează datele de testare. Stochează 3 variabile
Pasul 4) Creați o metodă statică care generează și returnează date de testare.
Linia de cod 32,33: Crearea unui tablou bidimensional (furnizarea parametrilor de intrare pentru adăugare). Folosind metoda asList, convertim datele într-un tip List. Deoarece, tipul returnat de intrare a metodei este colectarea.
Linia de cod 30: Utilizarea adnotării @Parameters 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 elemenentul
{1,2,3}
Aici
firstNumber = 1
al doilea număr = 2
ResultResultat = 3
Aici fiecare element de matrice va fi transmis constructorului, unul câte unul, deoarece clasa este instanțiată de mai multe ori.
Pasul 5) Codul complet
Explicatie cod:
- Linia de cod 25: Utilizarea adnotării @Before pentru a configura resursele (Airthematic.class aici). Adnotarea @Before este utilizată aici pentru a rula înainte de fiecare caz de testare. Conține condiția prealabilă a testului.
- Linia de cod 36: Utilizarea adnotării @Test pentru a crea testul nostru.
- Linia de cod 39: Crearea unei declarații de afirmare pentru a verifica dacă suma noastră este echivalentă cu ceea ce ne așteptam.
Pasul 6) Creați o clasă de test runner pentru a rula testul parametrizat:
Explicatie cod:
- Linia de cod 8: Declararea metodei principale a testului de clasă care va rula testul nostru JUnit.
- 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 folosind pentru buclă și imprimarea rezultatului eșuat.
- Linia de cod 13: Tipărirea rezultatului reușit.
Ieșire:
Iată rezultatul care arată testul reușit, fără urmă de eșec, după cum se arată mai jos:
Vedeți rezultatul pe consolă, care arată adăugarea a două numere: -
Rezumat :
Testul parametrizat permite dezvoltatorului să execute același test de mai multe ori folosind valori diferite.
Adnotări importante care trebuie utilizate în timpul parametrizării
- @Alearga cu
- @Parametri