JUnit Test očekivane iznimke: @Test(očekivano)

JUnit pruža mogućnost za praćenje iznimke i također za provjeru izbacuje li kod očekivanu iznimku ili ne.

Junit4 pruža jednostavan i čitljiv način za testiranje izuzetaka, možete ga koristiti

  • Izborni parametar (očekivan) @test anotacije i
  • Za praćenje informacija može se koristiti "fail()".

Dok su Ispitivanje iznimke, morate osigurati tu klasu iznimke koju dajete u tom izbornom parametru @test komentar je isti. To je zato što očekujete iznimku od metode koja jeste Ispitivanje jedinice, inače naš JUnit test ne bi uspio.

Primjer@Test(očekivano=IllegalArgumentException.class)

Korištenjem parametra "expected" možete navesti naziv iznimke koju naš test može dati. U gornjem primjeru koristite "IllegalArgumentException” koje će izbaciti test ako programer koristi argument koji nije dopušten.

Primjer korištenja @test(očekivano)

Razumimo testiranje izuzetaka stvaranjem Java klasa s metodom koja izbacuje iznimku. Vi ćete to riješiti i isprobati na ispitnom satu. Razmotriti JUnitMessage.java koja ima metodu koja jednostavno izvodi matematičku operaciju na temelju unosa koje prima korisnik. Ako se unese bilo koji nedopušten argument, izbacit će se "ArithmeticException". Pogledaj ispod:

Primjer korištenja @Test

package guru99.junit;

public class JUnitMessage{

	private String message;

	public JUnitMessage(String message) {
		this.message = message;
	}

public void printMessage(){

	System.out.println(message); 
	int divide=1/0;

}

public String printHiMessage(){ 

	message="Hi!" + message;
	
	System.out.println(message);

	return message;
}

}

Objašnjenje koda:

  • Redak koda 7: Izrada parametriziranog konstruktora s inicijalizacijom polja.
  • Redak koda 11-14: Stvaranje metode za matematičke operacije.
  • Redak koda 18: Stvaranje druge metode za ispis poruke.
  • Redak koda 20: Stvaranje novog niza za ispis poruke.
  • Redak koda 21: Ispis nove poruke stvorene u retku 20.

Kreirajmo testnu klasu za gornju java klasu da provjerimo iznimku.

Pogledajte donju iznimku testne klase za jedinični test (ovdje ArithmeticException) bacanje odozgo java klase:

AirthematicTest.java

AirthematicTest.Java

package guru99.junit;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class AirthematicTest {

	public String message = "Saurabh";
	
	JUnitMessage junitMessage = new JUnitMessage(message);
	
	@Test(expected = ArithmeticException.class)
	public void testJUnitMessage(){

		System.out.println("Junit Message is printing ");
		junitMessage.printMessage();

	}

	@Test
	public void testJUnitHiMessage(){ 
		message="Hi!" + message;
		System.out.println("Junit Message is printing ");
		assertEquals(message, junitMessage.printMessage());
	
	}
}

Objašnjenje koda:

  • Redak koda 13: Korištenje oznake @Test za izradu našeg testa. Dok izvršavate gornju metodu 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() JUnitPoruka.java
  • Redak koda 18: Stvaranje druge metode za ispis HI poruke.

Ako izvršite ovu testnu klasu, testna metoda se izvršava sa svakim definiranim parametrom. U gornjem primjeru, metoda ispitivanja se izvodi pet puta.

Izvršimo ga i provjerimo rezultat. U nastavku pogledajte klasu pokretača testa koju treba izvršiti JunitTestExample.java

Izlaz:

Ovo je izlaz koji pokazuje uspješan test bez traga greške kao što je navedeno u nastavku:

AirthematicTest.Java Izlaz

rezime

  • Testiranje izuzetaka posebna je značajka uvedena u JUnit4. U ovom vodiču ste naučili kako testirati iznimku u JUnit pomoću @test(osim)
  • Junit pruža mogućnost praćenja iznimke i također za provjeru izbacuje li kod iznimku ili ne
  • Za testiranje izuzetaka, možete koristiti
    • Izborni parametar (očekivan) @test anotacije i
    • Za praćenje informacija može se koristiti "fail()".