Očakávaný test výnimiek JUnit: @Test (očakáva sa)

Obsah:

Anonim

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 ()“