JUniti eeldatav erandtest: @Test (eeldatav)

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

Anonim

JUnit pakub võimalust erandi jälgimiseks ja ka selle kontrollimiseks, kas kood viskab oodatud erandi või mitte.

Junit4 pakub hõlpsat ja loetavat viisi erandite testimiseks, mida saate kasutada

  • @Testi märkuse valikuline parameeter (eeldatav)
  • Teabe jälgimiseks saab kasutada "fail ()"

Erandi testimise ajal peate tagama, et @test märkuse valikulises parameetris pakutav erandiklass oleks sama. Selle põhjuseks on asjaolu, et ootate üksuse testimise meetodist erandit, vastasel juhul ebaõnnestub meie JUniti test.

Näide @ Test (eeldatav = IllegalArgumentException.class)

Parameetri "oodatud" abil saate määrata erandi nime, mille meie test võib visata. Ülalolevas näites kasutate " IllegalArgumentException", mille test viskab, kui arendaja kasutab argumenti, mis pole lubatud.

Näide @testi kasutamisest (eeldatav)

Mõistame erandite testimist, luues Java-klassi meetodi abil, mis erandi loob. Te saate sellega hakkama ja katsetate seda prooviklassis. Mõelge, kas JUnitMessage.java omab meetodit, mis teeb lihtsalt kasutaja saadud sisendil põhineva matemaatilise toimingu. Kui sisestatakse mõni ebaseaduslik argument, viskab see "ArithmeticException " . Vaata allpool:

pakett guru99.junit;avalik klass JUnitMessage {privaatne stringisõnum;public JUnitMessage (stringisõnum) {this.message = sõnum;}public void printMessage () {System.out.println (sõnum);int jagunemine = 1/0;}public String printHiMessage () {message = "Tere!" + teade;System.out.println (sõnum);tagastussõnum;}}

Koodi selgitus:

  • Koodirida 7: Parameetrilise konstruktori loomine välja initsialiseerimisega.
  • Koodirida 11-14: Matemaatilise operatsiooni meetodi loomine.
  • Koodirida 18: Sõnumi printimiseks teise meetodi loomine.
  • Koodirida 20: sõnumi printimiseks uue stringi loomine.
  • Koodirida 21: real 20 loodud uue sõnumi printimine.

Loome erandite kontrollimiseks ülemise java klassi jaoks testklassi

Vaadake allpool katseklassist üksuse testi erandit (siin ArithmeticException) visates java klassi ülevalt:

AirthematicTest.java

pakett guru99.junit;import staatiline org.junit.Assert.assertEquals;import org.junit.Test;avalik klass AirthematicTest {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 ("Juniti sõnum prinditakse");assertEquals (sõnum, junitMessage.printMessage ());}}

Koodi selgitus:

  • Koodirida 13: meie testi loomiseks märkuse @Test kasutamine. Ülaltoodud klasside meetodi käivitamisel käivitab see matemaatilise toimingu. Siin on oodata aritmeetilist erandit, nii et lisate selle parameetriks rakenduses @Test.
  • Koodirida 17: printMessage () kutsumine JUnitMessage.java
  • Koodirida 18: uue meetodi loomine HI-sõnumi printimiseks.

Selle testklassi käivitamisel käivitatakse testimeetod iga määratletud parameetriga. Ülaltoodud näites viiakse katsemeetod läbi viis korda.

Teostame selle ja kontrollime tulemust. JunitTestExample.java käivitamiseks vaadake testijooksjate klassi allpool

Väljund:

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

Kokkuvõte:

  • Eranditestimine on JUnit4-s kasutusele võetud eripära. Selles õpetuses olete õppinud JUnitis erandit testima, kasutades @test (välja arvatud)
  • Junit pakub võimalust erandit jälgida ja kontrollida, kas kood viskab erandi või mitte
  • Eranditestimiseks võite kasutada
    • @Testi märkuse valikuline parameeter (eeldatav)
    • Teabe jälgimiseks saab kasutada "fail ()"