„Junit“ testų rinkinys leidžia mums sujungti visus kelių klasių bandymų atvejus į vieną vietą ir paleisti jį kartu.
Norėdami vykdyti „suite“ testą, turite anotuoti klasę naudodami toliau nurodytas anotacijas:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class ...) arba
@ Suite.SuiteClasses ({test1.class, test2.class
…})
Esant aukščiau pateiktoms anotacijoms, visos bandymo klasės rinkinyje bus pradėtos vykdyti po vieną.
Veiksmai, skirti sukurti „Test Suite“ ir „Test Runner“
1 žingsnis) Sukurkite paprastą bandymų klasę (pvz., „MyFirstClassTest“) ir pridėkite metodą, pažymėtą @test.
2 žingsnis) Sukurkite kitą bandymo klasę, kurią norite pridėti (pvz., „MySecondClassTest“), ir sukurkite metodą, pažymėtą @test.
3 žingsnis) Norėdami sukurti testSuite, pirmiausia turite pažymėti klasę @RunWith (Suite.class) ir @SuiteClasses (class1.class2
…).4 žingsnis) Sukurkite „Test Runner“ klasę, kad paleistumėte mūsų testų rinkinį, kaip nurodyta toliau;
Kodo paaiškinimas:
- 8 kodo eilutė: pagrindinio klasės testo metodo, kuris vykdys mūsų „JUnit“ testą, deklaravimas.
- 9 kodo eilutė: bandomųjų atvejų vykdymas naudojant „JunitCore.runclasses“, kuris naudoja parametru bandymo klasės pavadinimą (aukščiau pateiktame pavyzdyje naudojate „TestSuiteExample.class“, parodytą 3 veiksme).
- 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:
„JUnit Test Suite“ pavyzdys
Apsvarstykite sudėtingesnį pavyzdį
JunitTest.java
„JunitTest.java“ yra paprasta klasė, komentuojama @RunWith ir @Suite anotacijomis. Kaip parametrus galite išvardyti rinkinio .classes skaičių kaip parametrus, kaip nurodyta toliau:
paketas guru99.junit;importuoti org.junit.runner.RunWith;importuoti org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,„SuiteTest2.class“,})viešoji klasė „JunitTest“ {// Ši klasė lieka tuščia, ji naudojama tik kaip minėtų anotacijų turėtoja}
SuiteTest1.java
„SuiteTest1.java“ yra bandomoji klasė, turinti bandymo metodą, kaip išspausdinti pranešimą, kaip nurodyta toliau. Šią klasę naudosite kaip rinkinį aukščiau paminėtoje klasėje.
paketas guru99.junit;importuoti statinį org.junit.Assert.assertEquals;importuoti org.junit.Test;viešosios klasės „SuiteTest1“ {viešoji eilutės žinutė = "Saurabh";JUnitMessage junitMessage = naujas JUnitMessage (pranešimas);@Test (tikėtinas = ArithmeticException.class)public void testJUnitMessage () {System.out.println („„ Junit “pranešimas spausdinamas“);junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Sveiki!" + žinutė;System.out.println ("Spausdina" Junit Hi Message ");assertEquals (pranešimas, junitMessage.printHiMessage ());System.out.println („Suite Suite 2 sėkmingas“ + pranešimas);}}
SuiteTest2.java
„SuiteTest2.java“ yra dar viena bandymo klasė, panaši į „ SuiteTest1.java“, turinti bandymo metodą, kaip išspausdinti pranešimą, kaip nurodyta toliau. Šią klasę naudosite kaip rinkinį „ JunitTest.java“ .
paketas guru99.junit;importuoti org.junit.Assert;importuoti org.junit.Test;viešosios klasės „SuiteTest2“ {@Testpublic void createAndSetName () {Laukiama eilutė = "Y";Eilutė faktinė = "Y";„Assert.assertEquals“ (numatomas, faktinis);System.out.println („Suite Suite 1 sėkmingas“ + faktinis);}}
Rezultatas
Įvykdžius JunitTest .Java kuriame yra komplektą turintis test1.java ir test2.java , gausite toliau produkcijos:
Santrauka
Šioje pamokoje išsamiai sužinojote bandymo diržų pagrindus ir bandomuosius rinkinius su pavyzdžiu.
- Testavimo diržas arba automatika Testavimas yra programinė įranga arba programinės įrangos rinkinys, leidžiantis vartotojui išbandyti duomenis su keliais įvestimis ir kontroliuoti vykdymą
- Testo pakinktai iš tikrųjų įgalina testavimo sistemą, kuri atlieka visą testų vykdymo darbą naudodama testų biblioteką ir generuodama bandymo ataskaitą
- „Junit“ testų rinkinys leidžia mums sujungti visus daugelio klasių bandymo atvejus į vieną vietą ir paleisti jį kartu.