JUnit poskytuje zariadenie na sledovanie výnimky a tiež na kontrolu, či kód vyvoláva očakávanú výnimku alebo nie.
Junit4 poskytuje ľahký a čitateľný spôsob testovania výnimiek, ktorý môžete použiť
- Voliteľný parameter (očakávaný) anotácie @test a
- Na sledovanie informácií je možné použiť funkciu „fail ()“
Počas testovania výnimky musíte zabezpečiť, aby trieda výnimiek, ktorú poskytujete v tomto voliteľnom parametri anotácie @test, bola rovnaká. Je to preto, že čakáte výnimku z metódy, ktorú testujete na jednotkách, inak by náš test JUnit zlyhal.
Príklad @ test (očakáva sa = IllegalArgumentException.class)
Použitím parametra „expect“ môžete určiť názov výnimky, ktorú môže náš test vyvolať. Vo vyššie uvedenom príklade používate „ IllegalArgumentException“, ktorá bude testom vyhodená, ak vývojár použije argument, ktorý nie je povolený.
Príklad použitia testu @test (očakáva sa)
Poďme pochopiť testovanie výnimiek tak, že vytvoríme triedu Java pomocou metódy, ktorá vyvolá výnimku. Zvládnete to a otestujete v testovacej triede. Zvážte, že JUnitMessage.java má metódu, ktorá jednoducho robí matematickú operáciu na základe vstupu prijatého používateľom. Ak by bol zadaný akýkoľvek nelegálny argument, bude vyhodený „ArithmeticException “ . Pozri nižšie:
balíček guru99.junit;verejná trieda JUnitMessage {súkromná reťazcová správa;public JUnitMessage (reťazcová správa) {this.message = správa;}public void printMessage () {System.out.println (správa);int divide = 1/0;}public String printHiMessage () {message = "Ahoj!" + správa;System.out.println (správa);spätná správa;}}
Vysvetlenie kódu:
- Riadok kódu 7: Vytvorenie parametrizovaného konštruktora s inicializáciou poľa.
- Riadok kódu 11-14: Vytvorenie metódy pre matematickú operáciu.
- Riadok kódu 18: Vytvorenie inej metódy na tlač správy.
- Riadok kódu 20: Vytvorenie nového reťazca na vytlačenie správy.
- Riadok kódu 21: Tlač novej správy vytvorenej v riadku 20.
Vytvorme testovaciu triedu pre vyššie uvedenú triedu java na overenie výnimky.
Pozrite si nižšie uvedenú výnimku testu triedy na test jednotky (ArithmeticException tu), ktorá vrhá z vyššie uvedenej triedy Java:
AirthematicTest.java
balíček guru99.junit;importovať statický org.junit.Assert.assertEquals;import org.junit.Test;verejná trieda AirthematicTest {public String message = "Saurabh";JUnitMessage junitMessage = nový JUnitMessage (správa);@Test (očakáva sa = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Správa Junit sa tlačí");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + správa;System.out.println ("Správa Junit sa tlačí");assertEquals (message, junitMessage.printMessage ());}}
Vysvetlenie kódu:
- Riadok kódu 13: Použitie anotácie @Test na vytvorenie nášho testu. Keď vykonáte metódu vyššie uvedených tried, vyvolá matematickú operáciu. Tu sa očakáva aritmetická výnimka, takže ju v zozname @Test uvádzate ako parameter.
- Riadok kódu 17: Vyvolanie printMessage () JUnitMessage.java
- Riadok kódu 18: Vytvorenie inej metódy na tlač správy HI.
Ak vykonáte túto testovaciu triedu, vykoná sa testovacia metóda s každým definovaným parametrom. Vo vyššie uvedenom príklade sa testovacia metóda vykoná päťkrát.
Poďme to vykonať a overiť výsledok. Nižšie nájdete triedu testovacích bežcov, kde môžete vykonať súbor JunitTestExample.java
Výkon:
Tu je výstup, ktorý zobrazuje úspešný test bez sledovania poruchy, ako je uvedené nižšie:
Zhrnutie:
- Testovanie výnimiek je špeciálna funkcia predstavená v JUnit4. V tomto tutoriáli ste sa naučili, ako testovať výnimky v JUnit pomocou @test (okrem)
- Junit poskytuje zariadenie na sledovanie výnimky a tiež na kontrolu, či kód vyvoláva výnimku alebo nie
- Na testovanie výnimiek môžete použiť
- Voliteľný parameter (očakávaný) anotácie @test a
- Na sledovanie informácií je možné použiť funkciu „fail ()“