JUnit @Ignore Anotácia testu s príkladom

Obsah:

Anonim

Niekedy môžete vyžadovať, aby ste nespúšťali metódu / kód alebo testovací prípad, pretože kódovanie sa nerobí úplne. Pre konkrétny test poskytuje JUnit anotáciu @Ignore, aby test preskočil.

V tomto návode sa naučíte

  • Čo je anotácia testu JUnit @Ignore
  • Príklad testu Junit - Ignorovať
  • Vytvorenie jednoduchej testovacej triedy bez ignorovania testu
  • Testovaciu metódu ignorujte pomocou anotácie @Ignore
  • Používanie anotácie @ s podmienkou
  • Všetky testovacie metódy ignorujte pomocou anotácie @Ignore.

Čo je anotácia testu JUnit @Ignore

Anotácia testu @Ignore sa používa na ignorovanie konkrétnych testov alebo skupín testov s cieľom preskočiť zlyhanie zostavenia.

Poznámky @Ignore je možné použiť v dvoch scenároch, ako je uvedené nižšie:

  1. Ak chcete ignorovať testovaciu metódu, použite @Ignore spolu s anotáciou @Test.
  2. Ak chcete ignorovať všetky testy triedy, použite anotáciu @Ignore na úrovni triedy.

Dôvod deaktivácie testu môžete uviesť vo voliteľnom parametri poskytnutom anotáciou @Ignore.

Pomôže ostatným vývojárom pracujúcim na rovnakej časti kódu pochopiť, „prečo je konkrétny test zakázaný?“ Po vyriešení problému s konkrétnym testom ho môžete jednoducho povoliť odstránením anotácie @Ignore .

Príklad testu Junit - Ignorovať

Ako je uvedené vyššie v definícii, môžete použiť anotáciu @Ignore na ignorovanie testu alebo skupiny testu.

Poďme to pochopiť na jednoduchom príklade a v nasledujúcich scenároch:

  1. Vytvorenie jednoduchej testovacej triedy bez ignorovania testu.
  2. Testovaciu metódu ignorujte pomocou anotácie @Ignore.
  3. Z náležitého dôvodu ignorujte testovaciu metódu pomocou anotácie @Ignore.
  4. Ignorujte všetky testovacie metódy pomocou anotácie @Ignore.

Vytvorenie jednoduchej testovacej triedy bez ignorovania testu

Vytvorme jednoduchú triedu Java, ktorá vytlačí dva typy správ.

  • Prvý spôsob vytlačí jednoduchú správu a
  • Druhá metóda vytlačí správu „ahoj“

JUnitMessage.java

balíček guru99.junit;verejná trieda JUnitMessage {súkromná reťazcová správa;public JUnitMessage (reťazcová správa) {this.message = správa;}public String printMessage () {System.out.println (správa);spätná správa;}public String printHiMessage () {message = "Ahoj!" + správa;System.out.println (správa);spätná správa;}}

JunitTestExample.java

Vytvorme testovaciu triedu JUnit na testovanie JUnitMessage.java.

V tejto testovacej triede JUnit

  • Prvý test s názvom „testJUnitMessage ()“ testuje metódu „printMessage ()“ vyššie uvedenej triedy.
  • Podobne druhý test s názvom „testJUnitHiMessage“ testuje „testJUnitHiMessage“ vyššie uvedenej triedy.
balíček guru99.junit;importovať statický org.junit.Assert.assertEquals;import org.junit.Test;verejná trieda JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (správa);@Testpublic void testJUnitMessage () {System.out.println ("Správa Junit sa tlačí");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + správa;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}

TestRunner.java

Vytvorme triedu testovacieho bežca na vykonávanie súboru JunitTestExample.java

balíček guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;verejná trieda TestRunner {public static void main (String [] args) {Výsledok = JUnitCore.runClasses (JunitTestExample.class);pre (Zlyhanie zlyhania: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Výsledok ==" + result.wasSuccessful ());}}

Výkon:

Tlačové vyhlásenie na konzole:

Junit Hi Message sa tlačí

Ahoj! Guru99

Správa Junit sa tlačí

Guru99

Testovaciu metódu ignorujte pomocou anotácie @Ignore

Vytvorme test ignorovania, aby sme deaktivovali test uvedený vyššie. Na to musíte v metóde použiť @Ignore, ktorú chcete preskočiť.

Urobme to pre testJUnitMessage () súboru JunitTestExample.java

JunitTestExample.java

balíček guru99.junit;importovať statický org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;verejná trieda JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (správa);@Ignorovať@Testpublic void testJUnitMessage () {System.out.println ("Správa Junit sa tlačí");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + správa;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}

Výkon:

Poďme vykonať a overiť výstup z vyššie uvedeného príkladu.

Nižšie uvedený výstup ukazuje, že jeden test je preskočený (zakázaný), pozri nasledujúci text:

Tlačové vyhlásenie na konzole:

Junit Hi Message sa tlačí

Ahoj! Guru99

Používanie anotácie @ s podmienkou

Zoberme si príklad, ako ignorovať test, a spolu s ním definujeme dôvod ignorovania. Ako už bolo uvedené vyššie, na uvedenie dôvodu máte v anotácii @Ignore jeden voliteľný parameter, kde môžete uviesť vyhlásenie o dôvode.

JunitTestExample.java

balíček guru99.junit;importovať statický org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;verejná trieda JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (správa);@Ignore („ešte nie je pripravené, prosím ignorujte.“)@Testpublic void testJUnitMessage () {System.out.println ("Správa Junit sa tlačí");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + správa;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}

Výkon:

Rovnaké ako vyššie.

Všetky testovacie metódy ignorujte pomocou anotácie @Ignore.

Ako bolo uvedené vyššie, na ignorovanie všetkých testov v triede je potrebné použiť anotáciu @Ignore na úrovni triedy.

Upravme vyššie uvedený príklad, aby sme pochopili, ako ignorovať všetky testy:

balíček guru99.junit;importovať statický org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;@Ignorovaťverejná trieda JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (správa);@Testpublic void testJUnitMessage () {System.out.println ("Správa Junit sa tlačí");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + správa;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}

Výkon :

Tlačové vyhlásenie na konzole:

Pretože oba testy preskočili použitie @Ignore na úrovni triedy, takže na konzole sa nevytlačil žiadny príkaz.

Zhrnutie:

V tomto tutoriáli ste sa naučili, ako ignorovať jeden test, skupinu testov alebo všetky testy pomocou anotácie @Ignore.

Poznámky @Ignore je možné použiť v dvoch scenároch, ako je uvedené nižšie:

  1. Ak chcete ignorovať testovaciu metódu, použite @Ignore spolu s anotáciou @Test.
  2. Ak chcete ignorovať všetky testy triedy, použite anotáciu @Ignore na úrovni triedy.

Naučili ste sa tiež, ako poskytnúť vyhlásenie, aby ste pochopili iného vývojára, prečo je konkrétny test zakázaný.