JUnit poskytuje zařízení ke sledování výjimky a také ke kontrole, zda kód vyvolává očekávanou výjimku nebo ne.
Junit4 poskytuje snadný a čitelný způsob testování výjimek, který můžete použít
- Volitelný parametr (očekávaný) anotace @test a
- Ke sledování informací lze použít „fail ()“
Při testování výjimky musíte zajistit, aby třída výjimek, kterou poskytujete v tomto volitelném parametru anotace @test, byla stejná. Je to proto, že očekáváte výjimku z metody, kterou jste Unit Testing, jinak by náš test JUnit selhal.
Příklad @ Test (očekává se = IllegalArgumentException.class)
Pomocí parametru „expect“ můžete určit název výjimky, který může náš test vyvolat. Ve výše uvedeném příkladu používáte „ IllegalArgumentException“, která bude vyvolána testem, pokud vývojář použije argument, který není povolen.
Příklad použití @test (očekáváno)
Pojďme porozumět testování výjimek vytvořením třídy Java pomocí metody vyvolávající výjimku. Zvládnete to a otestujete v testovací třídě. Zvažte, že JUnitMessage.java má metodu, která jednoduše provede matematickou operaci na základě vstupu přijatého uživatelem. Pokud by byl zadán jakýkoli nelegální argument, vyvolá to „ArithmeticException “ . Viz. níže:
balíček guru99.junit;veřejná třída JUnitMessage {soukromá řetězcová zpráva;public JUnitMessage (řetězcová zpráva) {this.message = zpráva;}public void printMessage () {System.out.println (zpráva);int divide = 1/0;}public String printHiMessage () {message = "Ahoj!" + zpráva;System.out.println (zpráva);zpětná zpráva;}}
Vysvětlení kódu:
- Řádek kódu 7: Vytvoření parametrizovaného konstruktoru s inicializací pole.
- Řádek kódu 11-14: Vytvoření metody pro matematické operace.
- Řádek kódu 18: Vytvoření jiné metody pro tisk zprávy.
- Řádek kódu 20: Vytvoření nového řetězce pro tisk zprávy.
- Řádek kódu 21: Tisk nové zprávy vytvořené na řádku 20.
Vytvořme testovací třídu pro výše uvedenou třídu Java, abychom ověřili výjimku.
Podívejte se níže na testovací třídu na výjimku testu jednotky (ArithmeticException zde) házení z výše java třídy:
AirthematicTest.java
balíček guru99.junit;importovat statický org.junit.Assert.assertEquals;import org.junit.Test;veřejná třída AirthematicTest {public String message = "Saurabh";JUnitMessage junitMessage = nový JUnitMessage (zpráva);@Test (očekává se = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Zpráva Junit se tiskne");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + zpráva;System.out.println ("Zpráva Junit se tiskne");assertEquals (message, junitMessage.printMessage ());}}
Vysvětlení kódu:
- Řádek kódu 13: Použití anotace @Test k vytvoření našeho testu. Při provádění výše uvedené metody tříd vyvolá matematickou operaci. Zde se očekává aritmetická výjimka, takže ji vypisujete jako parametr v @Test.
- Řádek kódu 17: Vyvolání printMessage () JUnitMessage.java
- Řádek kódu 18: Vytvoření jiné metody pro tisk zprávy HI.
Pokud provedete tuto testovací třídu, testovací metoda se provede s každým definovaným parametrem. Ve výše uvedeném příkladu je testovací metoda provedena pětkrát.
Pojďme to provést a ověřit výsledek. Níže naleznete třídu testovacího běžce k provedení souboru JunitTestExample.java
Výstup:
Zde je výstup, který zobrazuje úspěšný test bez trasování selhání, jak je uvedeno níže:
Souhrn:
- Testování výjimek je speciální funkce zavedená v JUnit4. V tomto kurzu jste se naučili, jak testovat výjimku v JUnit pomocí @test (kromě)
- Junit poskytuje nástroj pro sledování výjimky a také ke kontrole, zda kód vyvolává výjimku nebo ne
- Pro testování výjimek můžete použít
- Volitelný parametr (očekávaný) anotace @test a
- Ke sledování informací lze použít „fail ()“