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:
- Ak chcete ignorovať testovaciu metódu, použite @Ignore spolu s anotáciou @Test.
- 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:
- Vytvorenie jednoduchej testovacej triedy bez ignorovania testu.
- Testovaciu metódu ignorujte pomocou anotácie @Ignore.
- Z náležitého dôvodu ignorujte testovaciu metódu pomocou anotácie @Ignore.
- 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:
- Ak chcete ignorovať testovaciu metódu, použite @Ignore spolu s anotáciou @Test.
- 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ý.