Kas yra parametras „Junit“ testas?
Parametruotas testas - tą patį bandymą atlikti vėl ir vėl, naudojant skirtingas reikšmes. Tai padeda kūrėjui sutaupyti laiko atliekant tą patį testą, kuris skiriasi tik jų įnašais ir laukiamais rezultatais.
Naudojant parametrinį testą, galima nustatyti bandymo metodą, kuris nuskaito duomenis iš kai kurių duomenų šaltinių.
Apsvarstykite paprastą testą, kad susumuotumėte skirtingus skaičius. Kodas gali atrodyti -
Aukščiau pateiktas požiūris lemia daug atleidimų.
Mums reikia paprasto požiūrio ir. Naudodami parametrinį testą galite tiesiog pridėti metodą, kad įvestumėte 10 duomenų įvesties, ir jūsų testas bus vykdomas 10 kartų automatiškai.
Parametruoto „JUnit“ testo sukūrimo veiksmai
Sekantis kodas rodo parametrizuoto testo pavyzdį. Tai išbando aritmetinės klasės sumos () metodą:
1 žingsnis) Sukurkite klasę. Šiame pavyzdyje ketiname įvesti du skaičius naudodami sumos (int, int) metodą, kuris grąžins nurodytų skaičių sumą
2 žingsnis) Sukurkite parametruojamą bandymo klasę
Kodo paaiškinimas
- 11 kodo eilutė: pažymėkite savo testo klasę naudodami @runWith (Parameterized.class).
- Kodo eilutė 13: Kintamojo „firstNumber“ paskelbimas privačiu, o tipo - int.
- Kodo 14 eilutė: kintamojo „secondNumber“ paskelbimas privačiu ir įveskite kaip int.
- Kodo 15 eilutė: kintamojo „numatomas rezultatas“ deklaravimas privatus ir įveskite kaip int.
- Kodo 16 eilutė: kintamojo „airthematic“ paskelbimas privačiu ir tipo „Airthematic“.
@RunWith (class_name.class): @RunWith anotacija naudojama norint nurodyti jos bėgiko klasės pavadinimą. Jei nenurodysime jokio parametro kaip parametro, vykdymo laikas pagal nutylėjimą pasirinks „ BlockJunit4ClassRunner “.
Ši klasė yra atsakinga už tai, kad bandymai būtų vykdomi naudojant naują bandymo egzempliorių. Jis yra atsakingas už JUnit gyvavimo ciklo metodų, tokių kaip sąranka (susieti ištekliai) ir išardymas (išleidimo ištekliai), taikymą.
Norėdami nustatyti parametrus, turite komentuoti naudodami „@RunWith“ ir perduoti reikalingą .class, kurį norite išbandyti
3 žingsnis) Sukurkite konstruktorių, kuriame saugomi bandymo duomenys. Jame saugomi 3 kintamieji
4 žingsnis) Sukurkite statinį metodą, kuris generuoja ir grąžina bandymo duomenis.
Kodo eilutė 32,33: sukuriamas dvimatis masyvas (pateikiami įvesties parametrai). Naudojant „asList“ metodą, duomenys konvertuojami į sąrašo tipą. Kadangi metodo įvesties grąžinimo tipas yra rinkimas.
30 kodo eilutė: Naudodami „ @Parameters“ anotaciją sukurkite įvesties duomenų rinkinį, kad atliktumėte mūsų bandymą.
„@Parameters“ anotacijoje nustatytas statinis metodas pateikia rinkinį, kuriame kiekvienas rinkinio įrašas bus įvesties duomenys vienai bandymo iteracijai.
Apsvarstykite elementą
{1,2,3}
Čia
firstNumber = 1
secondNumber = 2
tikėtinas rezultatas = 3
Čia kiekvienas masyvo elementas bus perduotas konstruktoriui po vieną, nes klasė yra kelis kartus išaiškinta.
5 žingsnis) Visas kodas
Kodo paaiškinimas:
- 25 kodo eilutė: Naudodami „@Before“ anotaciją nustatykite išteklius (čia „Airthematic.class“). „@Before“ anotacija čia naudojama norint paleisti prieš kiekvieną bandymo atvejį. Jame yra išankstinė testo sąlyga.
- Kodo eilutė 36: Naudojant „@Test“ anotaciją bandymui sukurti.
- Kodo 39 eilutė: teiginio teiginio sukūrimas, siekiant patikrinti, ar mūsų suma yra lygi tam, ko tikėjomės.
6 žingsnis. Sukurkite bandomųjų bėgikų klasę, kad atliktumėte parametrų testą
Kodo paaiškinimas:
- 8 kodo eilutė: pagrindinio klasės testo metodo, kuris vykdys mūsų „JUnit“ testą, deklaravimas.
- 9 kodo eilutė: vykdant bandymo atvejus naudojant „JunitCore.runclasses“, parametru bus laikomas bandymo klasės pavadinimas (mūsų pavyzdyje naudojame „Airthematic.class“).
- 11 kodo eilutė: apdorojant rezultatą naudojant ciklą ir atsispausdinus nepavykusį rezultatą.
- Kodo eilutė 13: sėkmingo rezultato spausdinimas.
Išvestis:
Čia yra išvestis, kuri rodo sėkmingą bandymą be gedimo pėdsakų, kaip nurodyta toliau:
Žiūrėkite rezultatą konsolėje, kurioje rodomi du skaičiai:
Santrauka :
Parametruotas testas leidžia kūrėjui atlikti tą patį bandymą vėl ir vėl naudojant skirtingas reikšmes.
Svarbios anotacijos, kurios bus naudojamos parametruojant
- @RunWith
- @Parameters