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:
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
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:
Ö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ó