JUnit pruža mogućnost praćenja iznimke i također provjere izbacuje li kod očekivanu iznimku ili ne.
Junit4 nudi jednostavan i čitljiv način za testiranje iznimki koje možete koristiti
- Izborni parametar (očekuje se) bilješke @test i
- Za traženje podataka može se upotrijebiti "fail ()"
Tijekom testiranja iznimke, morate osigurati da je klasa iznimke koju pružate u tom neobaveznom parametru bilješke @test ista. To je zato što očekujete iznimku od metode koju koristite Jedinstveno testiranje, u protivnom naš JUnit test neće uspjeti.
Primjer @ test (očekuje se = IllegalArgumentException.class)
Korištenjem parametra "očekivano" možete odrediti naziv iznimke koji naš test može dati. U gornjem primjeru koristite " IllegalArgumentException" koji će se baciti testom ako programer koristi argument koji nije dopušten.
Primjer upotrebe @test (očekuje se)
Razumijemo testiranje iznimki stvaranjem Java klase s metodom koja baca iznimku. Riješit ćete to i testirati na ispitnom satu. Razmislite o tome da JUnitMessage.java ima metodu koja jednostavno izvršava matematičku operaciju na temelju unosa koji je korisnik primio. Ako se unese bilo koji nezakonit argument, bacit će se "ArithmeticException " . Pogledaj ispod:
paket guru99.junit;javna klasa JUnitMessage {privatna niska poruka;public JUnitMessage (String message) {this.message = poruka;}public void printMessage () {System.out.println (poruka);int podjela = 1/0;}javni String printHiMessage () {message = "Bok!" + poruka;System.out.println (poruka);povratna poruka;}}
Objašnjenje koda:
- Redak koda 7: Stvaranje parametriziranog konstruktora s inicijalizacijom polja.
- Kodna linija 11-14: Stvaranje metode za matematičku operaciju.
- Redak 18: Stvaranje druge metode za ispis poruke.
- Redak koda 20: Stvaranje novog niza za ispis poruke.
- Linija 21: Ispis nove poruke kreirane u retku 20.
Stvorimo test klasu za gornju java klasu kako bismo provjerili iznimku.
Pogledajte dolje klasu ispitivanja za iznimku jedinstvenog testa (ArithmeticException ovdje) bacanje iz gornje java klase:
AirthematicTest.java
paket guru99.junit;uvoz statičke org.junit.Assert.assertEquals;uvoz org.junit.Test;javna klasa AirthematicTest {poruka javnog niza = "Saurabh";JUnitMessage junitMessage = nova JUnitMessage (poruka);@Test (očekuje se = ArithmeticException.class)javni void testJUnitMessage () {System.out.println ("Junit poruka se ispisuje");junitMessage.printMessage ();}@Testjavni void testJUnitHiMessage () {message = "Bok!" + poruka;System.out.println ("Junit poruka se ispisuje");assertEquals (message, junitMessage.printMessage ());}}
Objašnjenje koda:
- Redak koda 13: Korištenje oznake @Test za izradu našeg testa. Dok izvršavate metodu gore navedenih klasa, ona će pozvati matematičku operaciju. Ovdje se očekuje aritmetička iznimka, pa je navodite kao parametar u @Test.
- Redak koda 17: Pozivanje printMessage () JUnitMessage.java
- Redak 18: Stvaranje druge metode za ispis HI poruke.
Ako izvršite ovu klasu ispitivanja, metoda ispitivanja izvršava se sa svakim definiranim parametrom. U gornjem primjeru, metoda ispitivanja izvršava se pet puta.
Izvršimo ga i provjerimo rezultat. Pogledajte ispod klasu test runnera za izvršavanje JunitTestExample.java
Izlaz:
Evo izlaza koji pokazuje uspješan test bez traga kvara kako je navedeno u nastavku:
Sažetak:
- Ispitivanje iznimki je posebna značajka uvedena u JUnit4. U ovom vodiču naučili ste kako testirati iznimku u JUnit-u pomoću @test (izuzeto)
- Junit pruža mogućnost praćenja iznimke, a također i provjere izbacuje li kôd iznimku ili ne
- Za testiranje iznimki možete koristiti
- Izborni parametar (očekuje se) bilješke @test i
- Za traženje podataka može se upotrijebiti "fail ()"