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 ()"