JUnit @Ignore Testuj adnotację z przykładem

Spisie treści:

Anonim

Czasami możesz wymagać, aby nie wykonywać metody / kodu lub przypadku testowego, ponieważ kodowanie nie jest w pełni wykonane. W przypadku tego konkretnego testu JUnit udostępnia adnotację @Ignore, aby pominąć test.

W tym samouczku nauczysz się:

  • Co to jest adnotacja testowa JUnit @Ignore
  • Przykład testu Junit - Ignoruj
  • Tworzenie prostej klasy testowej bez ignorowania testu
  • Zignoruj ​​metodę testową za pomocą adnotacji @Ignore
  • Używanie adnotacji @ ignore z warunkiem
  • Zignoruj ​​wszystkie metody testowe przy użyciu adnotacji @Ignore.

Co to jest adnotacja testowa JUnit @Ignore

Adnotacja testowa @Ignore służy do ignorowania określonych testów lub grupy testów w celu pominięcia niepowodzenia kompilacji.

@Ignore adnotacja może być używana w dwóch scenariuszach, jak podano poniżej:

  1. Jeśli chcesz zignorować metodę testową, użyj @Ignore wraz z adnotacją @Test.
  2. Jeśli chcesz zignorować wszystkie testy klasy, użyj adnotacji @Ignore na poziomie klasy.

Możesz podać przyczynę wyłączenia testu w opcjonalnym parametrze dostarczonym przez adnotację @Ignore.

Pomoże to innym programistom pracującym nad tym samym fragmentem kodu zrozumieć, „dlaczego dany test jest wyłączony?” Gdy problem z tym konkretnym testem zostanie rozwiązany, możesz go po prostu włączyć, usuwając adnotację @Ignore .

Przykład testu Junit - Ignoruj

Jak omówiono w powyższej definicji, możesz użyć adnotacji @Ignore, aby zignorować test lub grupę testów.

Zrozummy to na prostym przykładzie i w poniższych scenariuszach:

  1. Tworzenie prostej klasy testowej bez ignorowania testu.
  2. Zignoruj ​​metodę testową za pomocą adnotacji @Ignore.
  3. Zignoruj ​​metodę testową przy użyciu adnotacji @Ignore, podając właściwy powód.
  4. Zignoruj ​​wszystkie metody testowe przy użyciu adnotacji @Ignore.

Tworzenie prostej klasy testowej bez ignorowania testu

Stwórzmy prostą klasę Java, która drukuje dwa typy wiadomości.

  • Pierwsza metoda wypisuje prostą wiadomość i
  • Druga metoda wypisuje komunikat „cześć”

JUnitMessage.java

pakiet guru99.junit;public class JUnitMessage {prywatna wiadomość String;public JUnitMessage (wiadomość tekstowa) {this.message = wiadomość;}public String printMessage () {System.out.println (wiadomość);wiadomość zwrotna;}public String printHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println (wiadomość);wiadomość zwrotna;}}

JunitTestExample.java

Utwórzmy klasę testową JUnit, aby przetestować JUnitMessage.java.

W tej klasie testowej JUnit

  • Pierwszy test o nazwie "testJUnitMessage ()" testy "printMessage ()" metoda powyższej klasy.
  • Podobnie drugi test, nazwany „testJUnitHiMessage”, testuje „testJUnitHiMessage” powyższej klasy.
pakiet guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nowy JUnitMessage (wiadomość);@Testpublic void testJUnitMessage () {System.out.println ("Trwa drukowanie komunikatu Junit");assertEquals (wiadomość, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println ("Trwa drukowanie komunikatu Junit Hi");assertEquals (wiadomość, junitMessage.printHiMessage ());}}

TestRunner.java

Stwórzmy testową klasę uruchamiającą, aby wykonać JunitTestExample.java

pakiet guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;public class TestRunner {public static void main (String [] args) {Wynik wynikowy = JUnitCore.runClasses (JunitTestExample.class);for (Failure failure: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Wynik ==" + result.wasSuccessful ());}}

Wynik:

Wydrukuj instrukcję na konsoli:

Trwa drukowanie wiadomości Junit Hi Message

Cześć, Guru99

Trwa drukowanie wiadomości Junit

Guru99

Zignoruj ​​metodę testową za pomocą adnotacji @Ignore

Utwórzmy ignoruj ​​test, aby wyłączyć test w powyższym przykładzie. W tym celu musisz użyć @Ignore w metodzie, którą chcesz pominąć.

Zróbmy to dla testJUnitMessage () z JunitTestExample.java

JunitTestExample.java

pakiet guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nowy JUnitMessage (wiadomość);@Ignorować@Testpublic void testJUnitMessage () {System.out.println ("Trwa drukowanie komunikatu Junit");assertEquals (wiadomość, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println ("Trwa drukowanie komunikatu Junit Hi");assertEquals (wiadomość, junitMessage.printHiMessage ());}}

Wynik:

Wykonajmy i zweryfikujmy wyjście z powyższego przykładu.

Poniższe dane wyjściowe pokazują, że jeden test został pominięty (wyłączony), patrz zaznaczone poniżej:

Wydrukuj instrukcję na konsoli:

Trwa drukowanie wiadomości Junit Hi Message

Cześć, Guru99

Używanie adnotacji @ ignore z warunkiem

Weźmy przykład, jak zignorować test i zdefiniujmy wraz z nim powód ignorowania. Jak omówiono powyżej, aby podać przyczynę, masz jeden opcjonalny parametr w adnotacji @Ignore, w którym możesz podać instrukcję przyczyny.

JunitTestExample.java

pakiet guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nowy JUnitMessage (wiadomość);@Ignore ("jeszcze nie gotowy, zignoruj.")@Testpublic void testJUnitMessage () {System.out.println ("Trwa drukowanie komunikatu Junit");assertEquals (wiadomość, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println ("Trwa drukowanie komunikatu Junit Hi");assertEquals (wiadomość, junitMessage.printHiMessage ());}}

Wynik:

Jak powyżej.

Zignoruj ​​wszystkie metody testowe przy użyciu adnotacji @Ignore.

Jak wspomniano powyżej, aby zignorować wszystkie testy w klasie, musisz użyć adnotacji @Ignore na poziomie klasy.

Zmodyfikujmy powyższy przykład, aby zrozumieć, jak zignorować wszystkie testy:

pakiet guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;@Ignorowaćpublic class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nowy JUnitMessage (wiadomość);@Testpublic void testJUnitMessage () {System.out.println ("Trwa drukowanie komunikatu Junit");assertEquals (wiadomość, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println ("Trwa drukowanie komunikatu Junit Hi");assertEquals (wiadomość, junitMessage.printHiMessage ());}}

Wynik :

Wydrukuj instrukcję na konsoli:

Ponieważ oba testy zostały pominięte przy użyciu @Ignore na poziomie klasy, żadna instrukcja nie zostanie wydrukowana na konsoli.

Podsumowanie:

W tym samouczku nauczyłeś się ignorować pojedynczy test, grupę testów lub wszystkie testy, używając adnotacji @Ignore.

@Ignore adnotacja może być używana w dwóch scenariuszach, jak podano poniżej:

  1. Jeśli chcesz zignorować metodę testową, użyj @Ignore wraz z adnotacją @Test.
  2. Jeśli chcesz zignorować wszystkie testy klasy, użyj adnotacji @Ignore na poziomie klasy.

Dowiedziałeś się również, jak przekazać oświadczenie, aby zrozumieć innego programistę, dlaczego dany test jest wyłączony.