JUnit @ Ignorer testkommentar med eksempel

Innholdsfortegnelse:

Anonim

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:

  1. Hvis du vil ignorere en testmetode, bruk @Ignore sammen med @Test-merknaden.
  2. 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:

  1. Opprette en enkel testklasse uten å ignorere en test.
  2. Ignorer en testmetode ved hjelp av @Ignorer kommentar.
  3. Ignorer en testmetode ved å bruke @Ignorer kommentar med riktig grunn.
  4. 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:

  1. Hvis du vil ignorere en testmetode, bruk @Ignore sammen med @Test-merknaden.
  2. 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.