JUnit parametriziran test s primerom z uporabo @Parameters

Kazalo:

Anonim

Kaj je parametrizirani test v Junitu?

Parametrizirani test je izvajanje istega preizkusa znova in znova z uporabo različnih vrednosti. Razvijalcu pomaga prihraniti čas pri izvajanju istega testa, ki se razlikuje le po vloženih podatkih in pričakovanih rezultatih.

Z uporabo parametriziranega testa lahko nastavite preskusno metodo, ki pridobi podatke iz nekega vira podatkov.

Razmislite o preprostem testu za seštevanje različnih števil. Koda je lahko videti tako -

Zgornji pristop vodi do velike odvečnosti.

Potrebujemo preprost pristop in. Z uporabo parametriziranega testa lahko preprosto dodate metodo za vnos 10 vnosov podatkov in preizkus se bo samodejno zagnal 10-krat.

Koraki za ustvarjanje parametriziranega testa JUnit

Naslednja koda prikazuje primer parametriziranega testa. Preizkusi metodo sum () razreda Aritmetika:

1. korak) Ustvarite predavanje. V tem primeru bomo vnesli dve številki z uporabo metode sum (int, int), ki bo vrnila vsoto danih števil

Korak 2) Ustvarite parametriziran testni razred

Razlaga kode

  • Vrstica kode 11: Označite svoj testni razred s pomočjo @runWith (Parameterized.class).
  • Vrstica kode 13: Razglasitev spremenljivke "firstNumber" kot zasebne in vnosa kot int.
  • Vrstica kode 14: Spremenljivko 'secondNumber' razglasite za zasebno in jo vnesite kot int.
  • Vrstica kode 15: Spremenljivko 'pričakovani rezultat' razglasite za zasebno in jo vnesite kot int.
  • Vrstica kode 16: Razglasitev spremenljivke „airthematic“ za zasebno in tip za Airthematic.

@RunWith (ime_razreda.razred): Pripis @RunWith se uporablja za določitev imena razreda tekača. Če kot parameter ne določimo nobene vrste, bo runtime privzeto izbral BlockJunit4ClassRunner .

Ta razred je odgovoren za izvajanje testov z novim preskusnim primerkom. Odgovorna je za sklicevanje na metode življenjskega cikla JUnit, kot sta namestitev (pridruženi viri) in odstranitev (viri izdaje).

Če želite parametrizirati, morate označiti z @RunWith in predati zahtevani .class, ki ga želite preizkusiti

3. korak) Ustvarite konstruktor, ki shranjuje preskusne podatke. Shrani 3 spremenljivke

4. korak) Ustvarite statično metodo, ki generira in vrne preskusne podatke.

Vrstica kode 32,33: Ustvarjanje dvodimenzionalnega polja (zagotavljanje vhodnih parametrov za dodajanje). Z uporabo metode asList podatke pretvorimo v vrsto seznama. Ker je vrnjena vrsta vnosa metode zbiranje.

Vrstica kode 30: Uporaba oznake @Parameters za ustvarjanje nabora vhodnih podatkov za zagon našega testa.

Statična metoda, označena s pripisom @Parameters, vrne zbirko, kjer bodo vsi vnosi v zbirki vhodni podatki za eno ponovitev preizkusa.

Razmislite o elemenentu

{1,2,3}

Tukaj

firstNumber = 1

secondNumber = 2

pričakovani rezultat = 3

Tu bo vsak element matrike posredovan konstruktorju, vsakega posebej, saj je razred večkrat instantiran.

5. korak) Celotna koda

Razlaga kode:

  • Vrstica kode 25: Uporaba oznake @Before za nastavitev virov (Airthematic.class tukaj). Pripomba @Before se tukaj uporablja za zagon pred vsakim testnim primerom. Vsebuje predpogoj za test.
  • Koda 36: Uporaba oznake @Test za ustvarjanje našega testa.
  • Kodijska vrstica 39: Ustvarjanje izjave za uveljavitev, da preverimo, ali je naša vsota enaka pričakovani.

6. korak) Ustvarite testni tekaški razred za zagon parametriziranega testa:

Razlaga kode:

  • Vrstica kode 8: razglasitev glavne metode preizkusa razreda, ki bo izvajal naš test JUnit.
  • Vrstica kode 9: Izvajanje testnih primerov z uporabo JunitCore.runclasses bo za parameter vzamelo ime testnega razreda (v našem primeru uporabljamo Airthematic.class).
  • Vrstica kode 11: obdelava rezultata z uporabo for zanke in izpis neuspešnega rezultata.
  • Vrstica kode 13: Natisnite uspešen rezultat.

Izhod:

Tukaj je rezultat, ki prikazuje uspešen test brez sledi napak, kot je navedeno spodaj:

Oglejte si rezultat na konzoli, ki prikazuje dodajanje dveh številk: -

Povzetek :

Parametrizirani test omogoča razvijalcu, da znova in znova izvede isti test z uporabo različnih vrednosti.

Pomembni pripisi, ki jih je treba uporabiti med parametrizacijo

  • @RunWith
  • @Parameters