JUniti parameetriline test näitega, kasutades @Parameters

Lang L: none (table-of-contents):

Anonim

Mis on parameetriline test Junitis?

Parameetriseeritud test on sama testi korduv ja korduv sooritamine, kasutades erinevaid väärtusi. See aitab arendajal säästa aega sama testi sooritamisel, mis erineb ainult nende sisendite ja oodatavate tulemuste poolest.

Parameetriseeritud testi abil saab seadistada testimeetodi, mis hangib andmeid mõnest andmeallikast.

Erinevate arvude liitmiseks kaaluge lihtsat testi. Kood võib välja näha -

Ülaltoodud lähenemisviis toob kaasa palju koondamisi.

Vajame lihtsat lähenemist ja. Parameetrilise testi abil saate lihtsalt lisada meetodi 10 andmesisestuse sisestamiseks ja teie test käivitub kümme korda automaatselt.

Parameetriseeritud JUniti testi loomise sammud

Järgmine kood näitab parameetrilise testi näidet. See testib aritmeetika klassi sum () meetodit:

1. samm. Looge klass. Selles näites sisestame kaks arvu, kasutades sum (int, int) meetodit, mis tagastab antud arvude summa

2. samm. Looge parameetriline testiklass

Koodi selgitus

  • Koodirida 11: märkige oma testiklass üles, kasutades @runWith (Parameterized.class).
  • Koodirida 13: Muutuja 'firstNumber' deklareerimine privaatseks ja tüüp int.
  • Koodirida 14: Muutuja 'secondNumber' deklareerimine privaatseks ja tüüp int.
  • Koodirida 15: Muutuja 'várhatóResult' deklareerimine privaatsena ja tüüp int.
  • Koodirida 16: Muutuja „airthematic” kuulutamine privaatseks ja tüüp Airthematic.

@RunWith ( klassi_nimi.klass ): märkust @RunWith kasutatakse selle jooksja klassi nime määramiseks. Kui me ei määra parameetriks ühtegi tüüpi, valib käitamise aeg vaikimisi BlockJunit4ClassRunner .

See klass vastutab uue testeksemplariga käitatavate testide eest. See vastutab JUniti olelusringi meetodite, näiteks seadistamise (seotud ressursid) ja lõhkumise (vabastamisressursid), kasutamise eest.

Parameetrite määramiseks peate märkima, kasutades @RunWith ja edastama nõutava testitava klassi

Samm 3) Looge testiandmeid talletav konstruktor. See salvestab 3 muutujat

4. samm. Looge staatiline meetod, mis genereerib ja tagastab testandmed.

Koodirida 32,33: kahemõõtmelise massiivi loomine (lisamise sisendparameetrite pakkumine). AsList meetodi abil teisendame andmed loendi tüübiks. Kuna meetodi sisendi tagastustüüp on kogumine.

Kood Line 30: Kasutades @Parameters märge luua kogum sisendandmeid kulgema meie test.

@Parameters annotatsiooni abil tuvastatud staatiline meetod tagastab kogu, kus kogu kollektsiooni kirje on testi ühe iteratsiooni sisendandmeteks.

Mõelge elemenentsile

{1,2,3}

Siin

esimene number = 1

sekundarv = 2

eeldatav tulemus = 3

Siin edastatakse iga massiivi element konstruktorile ükshaaval, kuna klass on mitu korda instantsitud.

5. samm) täielik kood

Koodi selgitus:

  • Koodirida 25: Kasutades ressursside seadistamiseks märkust @Enne märkusi (siin Airthematic.class). Märkust @Before kasutatakse siin enne igat testijuhtu käivitamiseks. See sisaldab testi eeldust.
  • Koodirida 36: meie testi loomiseks märkuse @Test kasutamine.
  • Koodirida 39: väite loomine, et kontrollida, kas meie summa on võrdne oodatuga.

6. samm. Parameetrilise testi käivitamiseks looge testijooksjate klass:

Koodi selgitus:

  • Koodirida 8: deklareeritakse meie JUniti testi käivitava klassikatse peamine meetod.
  • Koodirida 9: testjuhtumite käivitamisel JunitCore.runclasses abil võetakse parameetrina testklassi nimi (meie näites kasutame Airthematic.class).
  • Koodirida 11: tulemuse töötlemine tsükli abil ja ebaõnnestunud tulemuse printimine.
  • Koodirida 13: eduka tulemuse printimine.

Väljund:

Siin on väljund, mis näitab edukat katset ilma rikke jälgedeta, nagu allpool esitatud:

Vaadake konsooli tulemust, mis näitab kahe numbri lisamist: -

Kokkuvõte :

Parameetriline test võimaldab arendajal sama testi uuesti ja uuesti läbi viia, kasutades erinevaid väärtusi.

Parameetrite ajal kasutatavad olulised märkused

  • @RunWith
  • @ Parameetrid