Looge JUnit Test Suite näitega: @RunWith @SuiteClasses

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

Anonim

Junitis võimaldab testipakett koondada kõik mitme klassi testjuhtumid ühte kohta ja käivitada see koos.

Komplekti testi käivitamiseks peate klassi märkima allpool nimetatud märkuste abil:

  1. @Runwith (Suite.class)
  2. @SuiteClasses (test1.klass, test2.klass ...) või

    @ Suite.SuiteClasses ({test1.klass, test2.klass

    …})

Ülaltoodud märkuste korral hakkavad kõik komplekti testiklassid ükshaaval täitma.

Test Suite'i ja Test Runneri loomise toimingud

Samm 1) Looge lihtne testiklass (nt MyFirstClassTest) ja lisage meetod, millele on lisatud märge @test.

Samm 2) Looge lisamiseks veel üks testiklass (nt MySecondClassTest) ja looge meetod, millele on lisatud märge @test.

Samm 3) TestSuite'i loomiseks peate klassi kõigepealt märkima @RunWith (Suite.class) ja @SuiteClasses (class1.class2)

…).

Samm 4) Looge Test Runner klass meie testipaketi käitamiseks vastavalt allpool toodud kirjeldusele.

Koodi selgitus:

  • Koodirida 8: deklareeritakse meie JUniti testi käivitava klassikatse peamine meetod.
  • Koodirida 9: testjuhtumite käivitamine JunitCore.runclasses abil, mis võtab parameetrina testklassi nime (ülaltoodud näites kasutate 3. etapis näidatud testSuiteExample.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:

JUnit Test Suite'i näide

Vaatleme keerulisemat näidet

JunitTest.java

JunitTest.java on lihtne klass, millele on lisatud märkused @RunWith ja @Suite . Võite parameetritena loetleda komplektis olevate .klasside arvu:

pakett guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})avalik klass JunitTest {// See klass jääb tühjaks, seda kasutatakse ainult ülaltoodud märkuste hoidjana}

SuiteTest1.java

SuiteTest1.java on testklass, millel on testimismeetod sõnumi printimiseks vastavalt allpool toodud juhistele . Kasutate seda klassi sviidina ülalnimetatud klassis.

pakett guru99.junit;import staatiline org.junit.Assert.assertEquals;import org.junit.Test;avaliku klassi SuiteTest1 {public String message = "Saurabh";JUnitMessage junitMessage = uus JUnitMessage (sõnum);@Test (eeldatav = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Juniti sõnum prinditakse");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Tere!" + teade;System.out.println ("Junit Hi Message trükib");assertEquals (sõnum, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 on edukas" + sõnum);}}

SuiteTest2.java

SuiteTest2.java on veel üks sarnane testiklass, mis sarnaneb SuiteTest1.java versiooniga, millel on testimismeetod sõnumi printimiseks, nagu allpool kirjeldatud. Te kasutate seda klassi JunitTest.java sviidina .

pakett guru99.junit;import org.junit.Assert;import org.junit.Test;avaliku klassi SuiteTest2 {@Testpublic void createAndSetName () {String eeldatav = "Y";String tegelik = "Y";Assert.assertEquals (eeldatav, tegelik);System.out.println ("Suite Test 1 õnnestus" + tegelik);}}

Väljund

Pärast JunitTest .java käivitamist, mis sisaldab komplekti test1.java ja test2.java , jõuate väljundi alla:

Kokkuvõte

Selles õpetuses olete üksikasjalikult koos näitega õppinud testrakmete põhitõdesid ja testikomplekte.

  • Testrakmed või automaatika Testimine on tarkvara või tarkvarakogu, mis võimaldab kasutajal testida andmeid mitme sisendiga ja juhtida täitmist
  • Testrakmed võimaldavad tegelikult testiraamistikku, mis teeb kogu töö testide sooritamiseks testraamatukogu abil ja testaruande loomiseks
  • Junitis võimaldab testipakett koondada kõik paljude klasside testjuhtumid ühte kohta ja käivitada see koos.