Někdy můžete vyžadovat neprovádění metody / kódu nebo testovacího případu, protože kódování se neprovádí úplně. Pro tento konkrétní test poskytuje JUnit @Ignore anotaci k přeskočení testu.
V tomto výukovém programu se naučíte
- Co je testovací anotace JUnit @Ignore
- Příklad testu Junit - Ignorovat
- Vytvoření jednoduché testovací třídy bez ignorování testu
- Ignorujte testovací metodu pomocí poznámky @Ignore
- Použití @ ignorovat anotaci s Podmínkou
- Ignorujte všechny testovací metody pomocí poznámky @Ignore.
Co je testovací anotace JUnit @Ignore
Anotace testu @Ignore se používá k ignorování konkrétních testů nebo skupiny testů, aby se vynechalo selhání sestavení.
@ Ignorovat anotaci lze použít ve dvou scénářích, jak je uvedeno níže:
- Pokud chcete ignorovat testovací metodu, použijte @Ignore spolu s anotací @Test.
- Pokud chcete ignorovat všechny testy třídy, použijte @Ignore anotaci na úrovni třídy.
Důvod deaktivace testu můžete uvést ve volitelném parametru poskytnutém anotací @Ignore.
Pomůže ostatním vývojářům pracujícím na stejné části kódu pochopit, „proč je konkrétní test deaktivován?“ Po vyřešení problému s konkrétním testem jej můžete jednoduše povolit odstraněním anotace @Ignore .
Příklad testu Junit - Ignorovat
Jak je popsáno ve výše uvedené definici, můžete použít anotaci @Ignore k ignorování testu nebo skupiny testu.
Rozumíme tomu na jednoduchém příkladu a v níže uvedených scénářích:
- Vytvoření jednoduché testovací třídy bez ignorování testu.
- Ignorujte testovací metodu pomocí poznámky @Ignore.
- Ignorujte testovací metodu pomocí poznámky @Ignore se správným důvodem.
- Ignorujte všechny zkušební metody pomocí poznámky @Ignore.
Vytvoření jednoduché testovací třídy bez ignorování testu
Vytvořme jednoduchou třídu Java, která vytiskne dva typy zpráv.
- První metoda vytiskne jednoduchou zprávu a
- Druhá metoda vytiskne zprávu „ahoj“
JUnitMessage.java
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 String printMessage () {System.out.println (zpráva);zpětná zpráva;}public String printHiMessage () {message = "Ahoj!" + zpráva;System.out.println (zpráva);zpětná zpráva;}}
JunitTestExample.java
Vytvořme testovací třídu JUnit pro testování JUnitMessage.java.
V této testovací třídě JUnit
- První test s názvem „testJUnitMessage ()“ testuje metodu „printMessage ()“ výše uvedené třídy.
- Podobně druhý test s názvem „testJUnitHiMessage“ testuje „testJUnitHiMessage“ výše uvedené třídy.
balíček guru99.junit;importovat statický org.junit.Assert.assertEquals;import org.junit.Test;veřejná třída JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (zpráva);@Testpublic void testJUnitMessage () {System.out.println ("Zpráva Junit se tiskne");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + zpráva;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}
TestRunner.java
Vytvořme třídu testovacího běžce pro spuštění JunitTestExample.java
balíček guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;veřejná třída TestRunner {public static void main (String [] args) {Výsledek = JUnitCore.runClasses (JunitTestExample.class);pro (Selhání selhání: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Result ==" + result.wasSuccessful ());}}
Výstup:
Tisk prohlášení na konzole:
Zpráva Junit Hi se tiskne
Ahoj! Guru99
Zpráva Junit se tiskne
Guru99
Ignorujte testovací metodu pomocí poznámky @Ignore
Vytvořme test ignorování a deaktivujeme test ve výše uvedeném příkladu. K tomu musíte v metodě použít @Ignore, kterou chcete přeskočit.
Udělejme to pro testJUnitMessage () z JunitTestExample.java
JunitTestExample.java
balíček guru99.junit;importovat statický org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;veřejná třída JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (zpráva);@Ignorovat@Testpublic void testJUnitMessage () {System.out.println ("Zpráva Junit se tiskne");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + zpráva;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}
Výstup:
Pojďme provést a ověřit výstup z výše uvedeného příkladu.
Níže uvedený výstup ukazuje, že jeden test je přeskočen (deaktivován), viz níže vyznačené označení:
Tisk prohlášení na konzole:
Zpráva Junit Hi se tiskne
Ahoj! Guru99
Použití @ ignorovat anotaci s Podmínkou
Vezměme si příklad, jak ignorovat test, a spolu s ním definujeme důvod jeho ignorování. Jak již bylo uvedeno výše, k poskytnutí důvodu máte v anotaci @Ignore jeden volitelný parametr, kde můžete uvést důvod.
JunitTestExample.java
balíček guru99.junit;importovat statický org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;veřejná třída JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (zpráva);@Ignore („ještě není připraven, prosím ignorujte.“)@Testpublic void testJUnitMessage () {System.out.println ("Zpráva Junit se tiskne");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + zpráva;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}
Výstup:
Stejné jako výše.
Ignorujte všechny testovací metody pomocí poznámky @Ignore.
Jak je uvedeno výše, abyste ignorovali všechny testy ve třídě, musíte použít @Ignore anotaci na úrovni třídy.
Upravme výše uvedený příklad, abychom pochopili, jak ignorovat všechny testy:
balíček guru99.junit;importovat statický org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;@Ignorovatveřejná třída JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nový JUnitMessage (zpráva);@Testpublic void testJUnitMessage () {System.out.println ("Zpráva Junit se tiskne");assertEquals (message, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + zpráva;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());}}
Výstup :
Tisk prohlášení na konzole:
Vzhledem k tomu, že oba testy přeskočeny pomocí @Ignore na úrovni třídy, takže na konzole nebude vytištěn žádný příkaz.
Souhrn:
V tomto kurzu jste se naučili, jak ignorovat jeden test, skupinu testů nebo všechny testy pomocí poznámky @Ignore.
@ Ignorovat anotaci lze použít ve dvou scénářích, jak je uvedeno níže:
- Pokud chcete ignorovat testovací metodu, použijte @Ignore spolu s anotací @Test.
- Pokud chcete ignorovat všechny testy třídy, použijte @Ignore anotaci na úrovni třídy.
Naučili jste se také, jak poskytnout prohlášení, aby pochopili jiného vývojáře, proč je konkrétní test zakázán.