JUnit Očekivani test iznimke: @Test (očekuje se)

Sadržaj:

Anonim

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