JUnit Várható kivételteszt: @Test(várható)

JUnit lehetőséget biztosít a kivétel nyomon követésére, valamint annak ellenőrzésére, hogy a kód a várt kivételt adja-e vagy sem.

A Junit4 egyszerű és olvasható módot biztosít a kivételtesztelésre, amelyet használhat

  • A @test annotáció opcionális paramétere (elvárt) és
  • Az információ nyomon követésére a „fail()” használható

Míg Tesztelés kivétel esetén biztosítania kell azt a kivételosztályt, amelyet az adott opcionális paraméterben megad @teszt annotáció ugyanaz. Ez azért van, mert kivételt vársz attól a módszertől, amilyen vagy Egység tesztelése, különben a miénk JUnit teszt sikertelen lenne.

Példa@Teszt(expected=IllegalArgumentException.class)

Az „expected” paraméter használatával megadhatja a kivétel nevét, amelyet a tesztünk adhat. A fenti példában a „IllegalArgumentException” amelyet a teszt dob, ha a fejlesztő nem engedélyezett argumentumot használ.

Példa a @test(várható) használatára

Ismerjük meg a kivételtesztelést az a. létrehozásával Java osztály kivételt dobó metódussal. Te kezeled és teszteled egy tesztórán. Fontolja meg JUnitA Message.java olyan metódussal rendelkezik, amely egyszerűen matematikai műveletet hajt végre a felhasználó által kapott bemenet alapján. Ha bármilyen illegális argumentum kerül megadásra, az „Aritmetikai kivételt” fog dobni. Lásd alább:

Példa a @Test használatával

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;
}

}

Kód magyarázata:

  • 7. kódsor: Paraméterezett konstruktor létrehozása mező inicializálásával.
  • 11-14. kódsor: Matematikai művelet módszerének megalkotása.
  • 18. kódsor: Másik módszer létrehozása üzenet nyomtatásához.
  • 20. kódsor: Új karakterlánc létrehozása üzenet nyomtatásához.
  • 21. kódsor: A 20. sorban létrehozott új üzenet nyomtatása.

Hozzon létre egy tesztosztályt a fenti java osztályhoz a kivétel ellenőrzéséhez.

Lásd alább a tesztosztálytól egységteszt-kivételt (ArithmeticException itt) a fenti Java osztályból:

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());
	
	}
}

Kód magyarázata:

  • 13. kódsor: @Test annotáció használata tesztünk elkészítéséhez. Ahogy végrehajtja a fenti osztályok metódusát, egy matematikai műveletet fog meghívni. Itt az aritmetikai kivétel várható, ezért paraméterként szerepel a @Testben.
  • 17. kódsor: A printMessage() meghívása JUnitÜzenet.java
  • 18. kódsor: Másik módszer létrehozása a HI üzenet nyomtatásához.

Ha ezt a tesztosztályt végrehajtja, a tesztmódszer minden meghatározott paraméterrel végrehajtódik. A fenti példában a tesztmódszert ötször hajtják végre.

Végezzük el, és ellenőrizzük az eredményt. Tekintse meg alább a végrehajtandó tesztfutó osztályt JunitTestPélda.java

output:

Íme a kimenet, amely sikeres tesztet mutat hibanyomok nélkül, az alábbiak szerint:

AirthematicTest.Java teljesítmény

Összegzésként

  • A kivételtesztelés egy speciális szolgáltatás, amelyet ben vezettek be JUnit4. Ebben az oktatóanyagban megtanulta, hogyan tesztelheti a kivételeket JUnit @test használatával (kivéve)
  • A Junit lehetőséget biztosít a kivétel nyomon követésére és annak ellenőrzésére, hogy a kód kivételt dob-e vagy sem
  • Kivételteszthez használhatja
    • A @test annotáció opcionális paramétere (elvárt) és
    • Az információ nyomon követésére a „fail()” használható