JUnit @Ignorer testkommentar med eksempel
Noen ganger kan du kreve å ikke kjøre en metode/kode eller Testsak fordi koding ikke er fullført. For den spesielle testen, JUnit gir @Overse merknad for å hoppe over testen.
Hva er JUnit @Ignorer testanmerkning
@Ignorer testkommentaren brukes til å ignorere bestemte tester eller gruppe av tester for å hoppe over byggefeilen.
@Overse merknad kan brukes i to scenarier som gitt nedenfor:
- Hvis du vil ignorere en testmetode, bruk @Ignorer sammen med @Test-kommentaren.
- Hvis du vil ignorere alle testene i klassen, bruk @Ignorer kommentar på klassenivå.
Du kan oppgi årsaken til å deaktivere en test i den valgfrie parameteren gitt av @Ignorer kommentar.
Det vil hjelpe andre utviklere som jobber med den samme kodebiten, å forstå "hvorfor en bestemt test er deaktivert?" Når problemet med den aktuelle testen er løst, kan du ganske enkelt aktivere den ved å fjerne @Ignorer kommentar.
Junit Test Eksempel – Ignorer
Som diskutert i definisjonen ovenfor, kan du bruke @Ignorer kommentar for å ignorere en test eller gruppe av testen.
La oss forstå det ved å bruke enkle eksempler og i nedenfor gitte scenarier:
- Opprette en enkel testklasse uten å ignorere en test.
- Ignorer en testmetode ved å bruke @Ignore annotering.
- Ignorer en testmetode ved å bruke @Ignore annotering med riktig grunn.
- Ignorer alle testmetoder ved å bruke @Ignorer kommentar.
Opprette en enkel testklasse uten å ignorere en test
La oss lage en enkel Java klasse som skriver ut to typer meldinger.
- Første metode skriver ut en enkel melding og
- Den andre metoden skriver ut en "hei"-melding
JUnitMessage.java
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
JunitTestExample.java
La oss lage en JUnit test klasse for å teste JUnitMessage.java.
I dette JUnit test klasse,
- Første test, kalt "testJUnitMessage()" tester "printMessage()"-metoden av klassen ovenfor.
- Tilsvarende den andre testen, kalt "testJUnitHiMessage" tester "testJUnitHiMessage" av klassen ovenfor.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
TestRunner.java
La oss lage en testløperklasse for å kjøre JunitTestExample.java
package 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) { Result result = JUnitCore.runClasses(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
Utgang:
Skriv ut uttalelse på konsollen:
Junit Hi Message skrives ut
Hei!Guru99
Junit Message skrives ut
Guru99
Ignorer en testmetode ved å bruke @Ignorer merknad
La oss lage ignoreringstest for å deaktivere en test i eksemplet ovenfor. For dette må du bruke @Ignore i metoden du vil hoppe over.
La oss gjøre det for testJUnitMelding() til JunitTestExample.java
JunitTestExample.java
package 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 = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Utgang:
La oss utføre og verifisere utdataene fra eksemplet ovenfor.
Utdata nedenfor viser at én test er hoppet over (deaktivert), se som merket nedenfor:
Skriv ut uttalelse på konsollen:
Junit Hi Message skrives ut
Hei!Guru99
Bruk @ ignorer merknad med betingelse
La oss ta eksempelet på hvordan man ignorerer en test og definerer årsaken til å ignorere sammen med den. Som diskutert ovenfor, for å oppgi en årsak har du én valgfri parameter i @Ignorer kommentaren der du kan oppgi grunnsetningen.
JunitTestExample.java
package 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 = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Utgang:
Samme som ovenfor.
Ignorer alle testmetoder ved å bruke @Ignorer kommentar.
Som diskutert ovenfor for å ignorere alle testene i klassen, må du bruke @Ignorer kommentar på klassenivå.
La oss endre eksemplet ovenfor for å forstå hvordan du kan ignorere alle testene:
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Utgang:
Skriv ut uttalelse på konsollen:
Siden begge testene hoppet over ved å bruke @Ignore på klassenivå, ble ingen setning skrevet ut på konsollen.
Oppsummering
I denne opplæringen lærte du hvordan du ignorerer en enkelt test, gruppe med tester eller alle tester ved å bruke @Ignore-kommentaren.
@Overse merknad kan brukes i to scenarier som gitt nedenfor:
- Hvis du vil ignorere en testmetode, bruk @Ignorer sammen med @Test-kommentaren.
- Hvis du vil ignorere alle testene i klassen, bruk @Ignorer kommentar på klassenivå.
Du har også lært hvordan du gir en erklæring for å forstå andre utviklere, hvorfor en bestemt test er deaktivert.