Noen ganger kan det hende du trenger å ikke utføre en metode / kode eller testtilfelle fordi koding ikke er fullført. For den aktuelle testen gir JUnit @Ignore- kommentar for å hoppe over testen.
I denne veiledningen vil du lære-
- Hva er JUnit @ Ignorer testkommentar
- Junit-testeksempel - Ignorer
- Opprette en enkel testklasse uten å ignorere en test
- Ignorer en testmetode ved hjelp av @Ignorer kommentar
- Bruker @ ignorere kommentar med tilstand
- Ignorer alle testmetoder ved å bruke @Ignore annotation.
Hva er JUnit @ Ignorer testkommentar
@Ignore-testkommentaren brukes til å ignorere bestemte tester eller en gruppe tester for å hoppe over byggfeilen.
@Ignore- kommentar kan brukes i to scenarier som angitt nedenfor:
- Hvis du vil ignorere en testmetode, bruk @Ignore sammen med @Test-merknaden.
- Hvis du vil ignorere alle testene i klassen, bruker du @Ignorer kommentar på klassenivå.
Du kan oppgi årsaken til at du deaktiverer en test i den valgfrie parameteren som tilbys av @Ignore-kommentar.
Det vil hjelpe andre utviklere som arbeider med samme kode, for å forstå "hvorfor en bestemt test er deaktivert?" Når problemet med den aktuelle testen er løst, kan du bare aktivere den ved å fjerne @Ignore-kommentar .
Junit-testeksempel - Ignorer
Som diskutert i definisjonen ovenfor, kan du bruke @Ignore annotation for å ignorere en test eller gruppe av testen.
La oss forstå det ved hjelp av enkle eksempler og i nedenstående scenarier:
- Opprette en enkel testklasse uten å ignorere en test.
- Ignorer en testmetode ved hjelp av @Ignorer kommentar.
- Ignorer en testmetode ved å bruke @Ignorer kommentar med riktig grunn.
- Ignorer all testmetode ved hjelp av @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
pakke guru99.junit;offentlig klasse JUnitMessage {privat strengmelding;offentlig JUnitMessage (strengmelding) {denne meldingen = melding;}public String printMessage () {System.out.println (melding);returmelding;}offentlig strengutskriftHiMessage () {melding = "Hei!" + melding;System.out.println (melding);returmelding;}}
JunitTestExample.java
La oss lage en JUnit-testklasse for å teste JUnitMessage.java.
I denne JUnit testklassen,
- Første test, kalt "testJUnitMessage ()" tester "printMessage ()" -metoden ovenfor klassen.
- Tilsvarende tester den andre testen, kalt "testJUnitHiMessage" "testJUnitHiMessage" av ovennevnte klasse.
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Test;offentlig klasse JunitTestExample {offentlig strengmelding = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (melding);@Testoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit Message skrives ut");assertEquals (melding, junitMessage.printMessage ());}@Testoffentlig ugyldig testJUnitHiMessage () {message = "Hei!" + melding;System.out.println ("Junit Hi Message skrives ut");assertEquals (melding, junitMessage.printHiMessage ());}}
TestRunner.java
La oss lage en testløperklasse for å utføre JunitTestExample.java
pakke guru99.junit;importer org.junit.runner.JUnitCore;importer org.junit.runner.Result;import org.junit.runner.notification.Failure;offentlig klasse TestRunner {public static void main (String [] args) {Resultatresultat = JUnitCore.runClasses (JunitTestExample.class);for (Failure failure: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Resultat ==" + result.wasSuccessful ());}}
Produksjon:
Skriv ut uttalelse på konsollen:
Junit Hi Message skrives ut
Hei! Guru99
Junit Message skrives ut
Guru99
Ignorer en testmetode ved hjelp av @Ignorer kommentar
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 testJUnitMessage () av JunitTestExample.java
JunitTestExample.java
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;offentlig klasse JunitTestExample {offentlig strengmelding = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (melding);@Overse@Testoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit Message skrives ut");assertEquals (melding, junitMessage.printMessage ());}@Testoffentlig ugyldig testJUnitHiMessage () {message = "Hei!" + melding;System.out.println ("Junit Hi Message skrives ut");assertEquals (melding, junitMessage.printHiMessage ());}}
Produksjon:
La oss utføre og verifisere utdataene fra eksemplet ovenfor.
Under output viser at en test er hoppet over (deaktivert), se som merket nedenfor:
Skriv ut uttalelse på konsollen:
Junit Hi Message skrives ut
Hei! Guru99
Bruker @ ignorere kommentar med tilstand
La oss ta eksemplet på hvordan vi kan ignorere en test og definere årsaken til å ignorere sammen med den. Som diskutert ovenfor, for å oppgi en grunn har du en valgfri parameter i @Ignore-kommentar hvor du kan oppgi årsaksuttalelsen.
JunitTestExample.java
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;offentlig klasse JunitTestExample {offentlig strengmelding = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (melding);@Ignore ("ennå ikke klar, ignorere.")@Testoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit Message skrives ut");assertEquals (melding, junitMessage.printMessage ());}@Testoffentlig ugyldig testJUnitHiMessage () {message = "Hei!" + melding;System.out.println ("Junit Hi Message skrives ut");assertEquals (melding, junitMessage.printHiMessage ());}}
Produksjon:
Samme som ovenfor.
Ignorer alle testmetoder ved å bruke @Ignore annotation.
Som diskutert ovenfor for å ignorere alle testene i klassen, må du bruke @Ignore-kommentar på klassenivå.
La oss endre eksemplet ovenfor for å forstå hvordan du kan ignorere alle testene:
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;@Overseoffentlig klasse JunitTestExample {offentlig strengmelding = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (melding);@Testoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit Message skrives ut");assertEquals (melding, junitMessage.printMessage ());}@Testoffentlig ugyldig testJUnitHiMessage () {message = "Hei!" + melding;System.out.println ("Junit Hi Message skrives ut");assertEquals (melding, junitMessage.printHiMessage ());}}
Utgang:
Skriv ut uttalelse på konsollen:
Ettersom begge testene hoppet over ved å bruke @Ignore på klassenivå, så ingen uttalelser ville bli skrevet ut på konsollen.
Sammendrag:
I denne opplæringen lærte du hvordan du kan ignorere en enkelt test, gruppe test eller alle tester ved å bruke @Ignore-kommentar.
@Ignore- kommentar kan brukes i to scenarier som angitt nedenfor:
- Hvis du vil ignorere en testmetode, bruk @Ignore sammen med @Test-merknaden.
- Hvis du vil ignorere alle testene i klassen, bruker du @Ignorer kommentar på klassenivå.
Du lærte også hvordan du kan gi en uttalelse for å forstå andre utviklere, hvorfor en bestemt test er deaktivert.