JUnit @Ignore Testovací anotace s příkladem

Obsah:

Anonim

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:

  1. Pokud chcete ignorovat testovací metodu, použijte @Ignore spolu s anotací @Test.
  2. 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:

  1. Vytvoření jednoduché testovací třídy bez ignorování testu.
  2. Ignorujte testovací metodu pomocí poznámky @Ignore.
  3. Ignorujte testovací metodu pomocí poznámky @Ignore se správným důvodem.
  4. 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:

  1. Pokud chcete ignorovat testovací metodu, použijte @Ignore spolu s anotací @Test.
  2. 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.