JUnit Parameterized Test with Example izmantojot @Parameters

Satura rādītājs:

Anonim

Kas ir parametru tests Junit?

Parametrizēts tests ir veikt vienu un to pašu testu atkal un atkal, izmantojot dažādas vērtības. Tas palīdz izstrādātājam ietaupīt laiku, veicot vienu un to pašu testu, kas atšķiras tikai pēc viņu ieguldījuma un gaidāmajiem rezultātiem.

Izmantojot parametru pārbaudi, var iestatīt testa metodi, kas iegūst datus no kāda datu avota.

Apsveriet vienkāršu testu, lai summētu dažādus skaitļus. Kods var izskatīties šādi -

Iepriekš minētā pieeja rada lielu atlaišanu.

Mums nepieciešama vienkārša pieeja un. Izmantojot parametrizētu testu, jūs varat vienkārši pievienot metodi, lai ievadītu 10 datu ievades, un jūsu tests tiks automātiski izpildīts 10 reizes.

Parametrizēta JUnit testa izveidošanas darbības

Šis kods parāda parametrizēta testa piemēru. Tas pārbauda Aritmētiskās klases sum () metodi:

1. solis) Izveidojiet klasi. Šajā piemērā mēs ievadīsim divus skaitļus, izmantojot sum (int, int) metodi, kas atgriezīs doto skaitļu summu

2. solis) Izveidojiet parametru testa klasi

Kods Paskaidrojums

  • 11. koda rindiņa: anotējiet testa klasi, izmantojot @runWith (Parameterized.class).
  • 13. koda rinda: mainīgā “firstNumber” deklarēšana par privātu un tipa kā int.
  • 14. koda rindiņa: mainīgā “secondNumber” deklarēšana kā privāta un ierakstīšana kā int.
  • 15. koda rindiņa: mainīgā lieluma “várhatóRezultāts” deklarēšana kā privāta un ierakstīšana kā int.
  • Kodu rinda 16: Mainīgā “airthematic” pasludināšana par privātu un tipa norādīšana par Airthematic.

@RunWith (klases_nosaukums.klase): @RunWith anotācija tiek izmantota, lai norādītu tās skrējēja klases nosaukumu. Ja kā parametru nenorādīsim nevienu veidu, izpildlaiks pēc noklusējuma izvēlēsies BlockJunit4ClassRunner .

Šī klase ir atbildīga par testu veikšanu ar jaunu testa gadījumu. Tas ir atbildīgs par tādu JUnit dzīves cikla metožu izmantošanu kā iestatīšana (saistītie resursi) un nojaukšana (izlaišanas resursi).

Lai parametrizētu, jums jāpievieno piezīmes, izmantojot @RunWith, un jānokārto vajadzīgā pārbaudāmā. Klase

3. solis. Izveidojiet konstruktoru, kas glabā testa datus. Tajā tiek saglabāti 3 mainīgie

4. solis. Izveidojiet statisku metodi, kas ģenerē un atgriež testa datus.

Kodu rinda 32,33: divdimensiju masīva izveidošana (ievades parametru nodrošināšana pievienošanai). Izmantojot metodi asList, mēs datus pārveidojam par saraksta tipu. Tā kā atgriešanās metodes ievades veids ir kolekcija.

30. koda rindiņa: Izmantojot @Parameters anotāciju, izveidojiet ievades datu kopu, lai veiktu mūsu testu.

Statiskā metode, kas identificēta ar anotāciju @Parameters, atgriež kolekciju, kur katrs ieraksts kolekcijā būs vienas testa iterācijas ievaddati.

Apsveriet elementu

{1,2,3}

Šeit

firstNumber = 1

secondNumber = 2

paredzamais rezultāts = 3

Šeit katrs masīva elements tiks nodots konstruktoram pa vienam, kad klase tiek instancēta vairākas reizes.

5. solis) Pilns kods

Koda skaidrojums:

  • 25. koda rindiņa: Resursu iestatīšanai izmantojiet @Before anotāciju (šeit Airthematic.class). @Before anotācija šeit tiek izmantota, lai palaistu pirms katra testa gadījuma. Tas satur testa priekšnoteikumu.
  • 36. koda rindiņa: @Test anotācijas izmantošana testa izveidošanai.
  • 39. koda rindiņa: Izveides apgalvojuma izveide, lai pārbaudītu, vai mūsu summa ir līdzvērtīga tai, ko mēs gaidījām.

6. darbība. Izveidojiet testa skrējēju klasi, lai palaistu parametrizētu testu:

Koda skaidrojums:

  • Kodu rinda 8: Deklarējot klases testa galveno metodi, kas veiks mūsu JUnit testu.
  • 9. koda rindiņa: izpildot testa gadījumus, izmantojot JunitCore.runclasses, par parametru tiks ņemts testa klases nosaukums (mūsu piemērā mēs izmantojam Airthematic.class).
  • 11. koda rindiņa: Rezultāta apstrāde, izmantojot cilpu, un izdrukāšana neizdevās.
  • 13. koda rindiņa: veiksmīga rezultāta izdrukāšana.

Izeja:

Šeit ir izeja, kas parāda veiksmīgu testu bez kļūmes izsekošanas, kā norādīts zemāk:

Skatiet rezultātu konsolē, kurā redzami divi skaitļi:

Kopsavilkums :

Parametrizēts tests ļauj izstrādātājam veikt vienu un to pašu testu atkal un atkal, izmantojot dažādas vērtības.

Svarīgas anotācijas, kas jāizmanto parametrizācijas laikā

  • @RunWith
  • @Parametri