Preskus pričakovane izjeme JUnit: @Test (pričakovano)

Kazalo:

Anonim

JUnit omogoča izsleditev izjeme in tudi preverjanje, ali koda vrže pričakovano izjemo ali ne.

Junit4 ponuja enostaven in berljiv način testiranja izjem, ki ga lahko uporabite

  • Izbirni parameter (pričakovan) pripisa @test in
  • Za sledenje informacij lahko uporabimo "fail ()"

Med preskušanjem izjeme morate zagotoviti, da je razred izjem, ki ga navedete v neobveznem parametru pripisa @test, enak. To je zato, ker pričakujete izjemo od metode, ki jo testirate z enoto, sicer naš test JUnit ne bi uspel.

Primer @ Test (pričakovano = IllegalArgumentException.class)

Z uporabo parametra "pričakovano" lahko določite ime izjeme, ki jo lahko odda naš test. V zgornjem primeru uporabljate " IllegalArgumentException", ki ga bo test vrgel, če razvijalec uporabi argument, ki ni dovoljen.

Primer uporabe @test (pričakovano)

Razumejmo preizkušanje izjem z ustvarjanjem razreda Java z metodo, ki vrže izjemo. To boste rešili in preizkusili v testnem tečaju. Razmislite o tem, da ima JUnitMessage.java metodo, ki preprosto izvede matematično operacijo na podlagi vnosa, ki ga prejme uporabnik. Če bi vnesli kakršen koli nezakonit argument, bo vrgel "ArithmeticException " . Glej spodaj:

paket guru99.junit;javni razred JUnitMessage {sporočilo zasebnega niza;public JUnitMessage (String message) {this.message = message;}public void printMessage () {System.out.println (sporočilo);int delitev = 1/0;}public String printHiMessage () {message = "Živijo!" + sporočilo;System.out.println (sporočilo);povratno sporočilo;}}

Razlaga kode:

  • Vrstica kode 7: Ustvarjanje parametriziranega konstruktorja z inicializacijo polja.
  • Vrstica kode 11-14: Ustvarjanje metode za matematično delovanje.
  • Vrstica kode 18: Ustvarjanje druge metode za tiskanje sporočila.
  • Vrstica kode 20: Ustvarjanje novega niza za tiskanje sporočila.
  • Koda 21: tiskanje novega sporočila, ustvarjenega v vrstici 20.

Ustvarimo testni razred za zgornji razred Java, da preverimo izjemo.

Glej spodnji preskusni razred za enotno preskusno izjemo (ArithmeticException tukaj), ki vrže iz zgornjega razreda Java:

AirthematicTest.java

paket guru99.junit;uvoz statične org.junit.Assert.assertEquals;uvoz org.junit.Test;javni razred AirthematicTest {sporočilo javnega niza = "Saurabh";JUnitMessage junitMessage = novo JUnitMessage (sporočilo);@Test (pričakovano = ArithmeticException.class)javni void testJUnitMessage () {System.out.println ("Junit Message se tiska");junitMessage.printMessage ();}@Testjavni void testJUnitHiMessage () {message = "Živijo!" + sporočilo;System.out.println ("Junit Message se tiska");assertEquals (message, junitMessage.printMessage ());}}

Razlaga kode:

  • Kodijska vrstica 13: Uporaba oznake @Test za ustvarjanje našega testa. Ko izvedete metodo zgoraj navedenih razredov, bo priklicala matematično operacijo. Tu se pričakuje aritmetična izjema, zato jo navedete kot parameter v @Test.
  • Vrstica kode 17: Priklic printMessage () JUnitMessage.java
  • Vrstica kode 18: Ustvarjanje druge metode za tiskanje sporočila HI.

Če izvedete ta testni razred, se testna metoda izvede z vsakim definiranim parametrom. V zgornjem primeru se testna metoda izvede petkrat.

Izvedimo ga in preverimo rezultat. Za izvedbo JunitTestExample.java glejte spodnji razred testnega tekača

Izhod:

Tukaj je rezultat, ki prikazuje uspešen test brez sledi napak, kot je navedeno spodaj:

Povzetek:

  • Preskus izjem je posebna funkcija, uvedena v JUnit4. V tej vadnici ste se naučili preizkusiti izjemo v JUnit z uporabo @test (izvzeto)
  • Junit omogoča izsleditev izjeme in tudi preverjanje, ali koda vrže izjemo ali ne
  • Za preskušanje izjem lahko uporabite
    • Izbirni parameter (pričakovan) pripisa @test in
    • Za sledenje informacij lahko uporabimo "fail ()"