Ibland kan du behöva inte köra en metod / kod eller ett testfall eftersom kodningen inte görs helt. För det specifika testet tillhandahåller JUnit @Ignore- kommentar för att hoppa över testet.
I den här handledningen lär du dig-
- Vad är JUnit @ Ignorera testnotering
- Exempel på Junit-test - Ignorera
- Skapa en enkel testklass utan att ignorera ett test
- Ignorera en testmetod med @Ignore-kommentar
- Använda @ ignorera anteckning med villkor
- Ignorera alla testmetoder med @Ignorera kommentar.
Vad är JUnit @ Ignorera testnotering
@Ignore-testanteckningen används för att ignorera specifika test eller grupp av test för att hoppa över byggfel.
@Ignore annotation kan användas i två scenarier enligt nedan:
- Om du vill ignorera en testmetod använder du @Ignore tillsammans med @Test-kommentaren.
- Om du vill ignorera alla tester i klassen använder du @Ignorera kommentar på klassnivå.
Du kan ange orsaken till att inaktivera ett test i den valfria parametern som tillhandahålls av @Ignore-kommentaren.
Det hjälper andra utvecklare som arbetar med samma kod, för att förstå "varför ett visst test är inaktiverat?" När frågan om det specifika testet är fixat kan du helt enkelt aktivera det genom att ta bort @Ignore-kommentaren .
Exempel på Junit-test - Ignorera
Som diskuterats i definitionen ovan kan du använda @Ignore-kommentar för att ignorera ett test eller en grupp av testet.
Låt oss förstå det med hjälp av enkla exempel och i nedan givna scenarier:
- Skapa en enkel testklass utan att ignorera ett test.
- Ignorera en testmetod med @Ignorera kommentar.
- Ignorera en testmetod med @Ignorera anteckningar med rätt anledning.
- Ignorera alla testmetoder med @Ignorera kommentar.
Skapa en enkel testklass utan att ignorera ett test
Låt oss skapa en enkel Java-klass som skriver ut två typer av meddelanden.
- Första metoden skriver ut ett enkelt meddelande och
- Den andra metoden skriver ut ett "hej" -meddelande
JUnitMessage.java
paket guru99.junit;offentlig klass JUnitMessage {privat strängmeddelande;public JUnitMessage (Strängmeddelande) {this.message = meddelande;}public String printMessage () {System.out.println (meddelande);returmeddelande;}public String printHiMessage () {meddelande = "Hej!" + meddelande;System.out.println (meddelande);returmeddelande;}}
JunitTestExample.java
Låt oss skapa en JUnit-testklass för att testa JUnitMessage.java.
I denna JUnit-testklass,
- Första testet, med namnet "testJUnitMessage ()" testar "printMessage ()" -metoden av ovanstående klass.
- På samma sätt testar det andra testet, som heter "testJUnitHiMessage" "testJUnitHiMessage" av ovanstående klass.
paket guru99.junit;importera statisk org.junit.Assert.assertEquals;importera org.junit.Test;offentlig klass JunitTestExempel {offentligt strängmeddelande = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (meddelande);@Testaoffentligt ogiltigt testJUnitMessage () {System.out.println ("Junit-meddelandet skrivs ut");assertEquals (meddelande, junitMessage.printMessage ());}@Testaoffentligt ogiltigt testJUnitHiMessage () {meddelande = "Hej!" + meddelande;System.out.println ("Junit Hej meddelande skrivs ut");assertEquals (meddelande, junitMessage.printHiMessage ());}}
TestRunner.java
Låt oss skapa en testlöparklass för att utföra JunitTestExample.java
paket guru99.junit;importera org.junit.runner.JUnitCore;importera org.junit.runner.Result;importera org.junit.runner.notification.Failure;offentlig klass TestRunner {public static void main (String [] args) {Resultatresultat = JUnitCore.runClasses (JunitTestExample.class);för (Failure failure: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Resultat ==" + result.wasSuccessful ());}}
Produktion:
Skriv ut uttalande på konsolen:
Junit Hi Message skrivs ut
Hej! Guru99
Junit Message skrivs ut
Guru99
Ignorera en testmetod med @Ignore-kommentar
Låt oss skapa ignorera test för att inaktivera ett test i ovanstående exempel. För detta måste du använda @Ignore i metoden, du vill hoppa över.
Låt oss göra det för testJUnitMessage () av JunitTestExample.java
JunitTestExample.java
paket guru99.junit;importera statisk org.junit.Assert.assertEquals;importera org.junit.Ignore;importera org.junit.Test;offentlig klass JunitTestExempel {offentligt strängmeddelande = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (meddelande);@Ignorera@Testaoffentligt ogiltigt testJUnitMessage () {System.out.println ("Junit-meddelandet skrivs ut");assertEquals (meddelande, junitMessage.printMessage ());}@Testaoffentligt ogiltigt testJUnitHiMessage () {meddelande = "Hej!" + meddelande;System.out.println ("Junit Hej meddelande skrivs ut");assertEquals (meddelande, junitMessage.printHiMessage ());}}
Produktion:
Låt oss köra och verifiera utdata från ovanstående exempel.
Nedanstående output visar att ett test hoppas över (inaktiveras), se som markerat nedan:
Skriv ut uttalande på konsolen:
Junit Hi Message skrivs ut
Hej! Guru99
Använda @ ignorera anteckning med villkor
Låt oss ta exemplet på hur man ignorerar ett test och definierar orsaken till att ignorera tillsammans med det. Som diskuterats ovan, för att ange en anledning har du en valfri parameter i @Ignore-kommentar där du kan ange skälsuttalandet.
JunitTestExample.java
paket guru99.junit;importera statisk org.junit.Assert.assertEquals;importera org.junit.Ignore;importera org.junit.Test;offentlig klass JunitTestExempel {offentligt strängmeddelande = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (meddelande);@Ignore ("ännu inte redo, ignorera.")@Testaoffentligt ogiltigt testJUnitMessage () {System.out.println ("Junit-meddelandet skrivs ut");assertEquals (meddelande, junitMessage.printMessage ());}@Testaoffentligt ogiltigt testJUnitHiMessage () {meddelande = "Hej!" + meddelande;System.out.println ("Junit Hej meddelande skrivs ut");assertEquals (meddelande, junitMessage.printHiMessage ());}}
Produktion:
Samma som ovan.
Ignorera alla testmetoder med @Ignorera kommentar.
Som diskuterats ovan för att ignorera alla tester i klassen måste du använda @Ignore-kommentar på klassnivå.
Låt oss ändra exemplet ovan för att förstå hur man ignorerar alla tester:
paket guru99.junit;importera statisk org.junit.Assert.assertEquals;importera org.junit.Ignore;importera org.junit.Test;@Ignoreraoffentlig klass JunitTestExempel {offentligt strängmeddelande = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (meddelande);@Testaoffentligt ogiltigt testJUnitMessage () {System.out.println ("Junit-meddelandet skrivs ut");assertEquals (meddelande, junitMessage.printMessage ());}@Testaoffentligt ogiltigt testJUnitHiMessage () {meddelande = "Hej!" + meddelande;System.out.println ("Junit Hej meddelande skrivs ut");assertEquals (meddelande, junitMessage.printHiMessage ());}}
Utgång:
Skriv ut uttalande på konsolen:
Eftersom båda testerna hoppades över med @Ignore på klassnivå så skulle inget uttalande skrivas ut på konsolen.
Sammanfattning:
I den här självstudien lärde du dig hur du ignorerar ett enstaka test, en grupp test eller alla tester med hjälp av @Ignore annotation.
@Ignore annotation kan användas i två scenarier enligt nedan:
- Om du vill ignorera en testmetod använder du @Ignore tillsammans med @Test-kommentaren.
- Om du vill ignorera alla tester i klassen använder du @Ignorera kommentar på klassnivå.
Du lärde dig också hur du ger ett uttalande för att förstå andra utvecklare, varför ett visst test är inaktiverat.