Nogle gange kan det være nødvendigt, at du ikke udfører en metode / kode eller testtilstand, fordi kodning ikke udføres fuldt ud. Til den pågældende test giver JUnit @Ignore- kommentar for at springe testen over.
I denne vejledning lærer du-
- Hvad er JUnit @ Ignorer testkommentar
- Junit-testeksempel - Ignorer
- Oprettelse af en simpel testklasse uden at ignorere en test
- Ignorer en testmetode ved hjælp af @Ignore-kommentar
- Brug @ ignorere kommentar med tilstand
- Ignorer alle testmetoder ved hjælp af @Ignorer kommentar.
Hvad er JUnit @ Ignorer testkommentar
@Ignore-testkommentaren bruges til at ignorere bestemte tests eller en gruppe af test for at springe buildfejlen over.
@Ignore annotation kan bruges i to scenarier som angivet nedenfor:
- Hvis du vil ignorere en testmetode, skal du bruge @Ignore sammen med @Test-kommentar.
- Hvis du vil ignorere alle testene i klassen, skal du bruge @Ignore-kommentar på klasseniveau.
Du kan angive årsagen til deaktivering af en test i den valgfri parameter leveret af @Ignore-kommentar.
Det vil hjælpe andre udviklere, der arbejder på det samme stykke kode, med at forstå "hvorfor en bestemt test er deaktiveret?" Når problemet med den pågældende test er løst, kan du blot aktivere det ved at fjerne @Ignore-kommentar .
Junit-testeksempel - Ignorer
Som diskuteret i definitionen ovenfor kan du bruge @Ignore-kommentar til at ignorere en test eller gruppe af testen.
Lad os forstå det ved hjælp af et simpelt eksempel og i nedenstående givne scenarier:
- Oprettelse af en simpel testklasse uden at ignorere en test.
- Ignorer en testmetode ved hjælp af @Ignore-kommentar.
- Ignorer en testmetode ved hjælp af @Ignorer kommentar med den rette grund.
- Ignorer alle testmetoder ved hjælp af @Ignorer kommentar.
Oprettelse af en simpel testklasse uden at ignorere en test
Lad os oprette en simpel Java-klasse, der udskriver to typer meddelelser.
- Første metode udskriver en simpel besked og
- Den anden metode udskriver en "hej" besked
JUnitMessage.java
pakke guru99.junit;offentlig klasse JUnitMessage {privat streng besked;offentlig JUnitMessage (streng besked) {denne besked = besked;}offentlig streng printMessage () {System.out.println (besked);returnere besked;}offentlig streng printHiMessage () {message = "Hej!" + besked;System.out.println (besked);returnere besked;}}
JunitTestExample.java
Lad os oprette en JUnit-testklasse for at teste JUnitMessage.java.
I denne JUnit test klasse,
- Første test, kaldet "testJUnitMessage ()" tests "printMessage ()" -metode af ovennævnte klasse.
- Tilsvarende tester den anden test, der hedder "testJUnitHiMessage" "testJUnitHiMessage" af ovennævnte klasse.
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Test;offentlig klasse JunitTestExample {offentlig streng besked = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (besked);@Prøveoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit-meddelelse udskrives");assertEquals (besked, junitMessage.printMessage ());}@Prøveoffentlig ugyldig testJUnitHiMessage () {message = "Hej!" + besked;System.out.println ("Junit Hej besked udskrives");assertEquals (besked, junitMessage.printHiMessage ());}}
TestRunner.java
Lad os oprette en testløberklasse til at udføre JunitTestExample.java
pakke guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;offentlig klasse TestRunner {public static void main (String [] args) {Resultat resultat = JUnitCore.runClasses (JunitTestExample.class);for (Failure failure: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Resultat ==" + result.wasSuccessful ());}}
Produktion:
Udskriv erklæring på konsol:
Junit Hej besked udskrives
Hej! Guru99
Junit Message udskrives
Guru99
Ignorer en testmetode ved hjælp af @Ignore-kommentar
Lad os oprette ignoreringstest for at deaktivere en test i ovenstående eksempel. Til dette skal du bruge @Ignore i metoden, du vil springe over.
Lad os gøre det til testJUnitMessage () af JunitTestExample.java
JunitTestExample.java
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Ignorer;import org.junit.Test;offentlig klasse JunitTestExample {offentlig streng besked = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (besked);@Ignorere@Prøveoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit-meddelelse udskrives");assertEquals (besked, junitMessage.printMessage ());}@Prøveoffentlig ugyldig testJUnitHiMessage () {message = "Hej!" + besked;System.out.println ("Junit Hej besked udskrives");assertEquals (besked, junitMessage.printHiMessage ());}}
Produktion:
Lad os udføre og kontrollere output fra ovenstående eksempel.
Nedenstående output viser, at en test springes over (deaktiveres), se som markeret nedenfor:
Udskriv erklæring på konsol:
Junit Hej besked udskrives
Hej! Guru99
Brug @ ignorere kommentar med tilstand
Lad os tage eksemplet på, hvordan man ignorerer en test og definerer årsagen til at ignorere sammen med den. Som beskrevet ovenfor, for at angive en grund har du en valgfri parameter i @Ignore-kommentar, hvor du kan angive årsagssætningen.
JunitTestExample.java
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Ignorer;import org.junit.Test;offentlig klasse JunitTestExample {offentlig streng besked = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (besked);@Ignore ("endnu ikke klar, ignorér venligst.")@Prøveoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit-meddelelse udskrives");assertEquals (besked, junitMessage.printMessage ());}@Prøveoffentlig ugyldig testJUnitHiMessage () {message = "Hej!" + besked;System.out.println ("Junit Hej besked udskrives");assertEquals (besked, junitMessage.printHiMessage ());}}
Produktion:
Samme som ovenfor.
Ignorer alle testmetoder ved hjælp af @Ignorer kommentar.
Som diskuteret ovenfor for at ignorere alle testene i klassen, skal du bruge @Ignore-kommentar på klasseniveau.
Lad os ændre ovenstående eksempel for at forstå, hvordan man ignorerer alle testene:
pakke guru99.junit;importer statisk org.junit.Assert.assertEquals;import org.junit.Ignorer;import org.junit.Test;@Ignorereoffentlig klasse JunitTestExample {offentlig streng besked = "Guru99";JUnitMessage junitMessage = ny JUnitMessage (besked);@Prøveoffentlig ugyldig testJUnitMessage () {System.out.println ("Junit-meddelelse udskrives");assertEquals (besked, junitMessage.printMessage ());}@Prøveoffentlig ugyldig testJUnitHiMessage () {message = "Hej!" + besked;System.out.println ("Junit Hej besked udskrives");assertEquals (besked, junitMessage.printHiMessage ());}}
Output:
Udskriv erklæring på konsol:
Da begge testene blev sprunget over ved hjælp af @Ignore på klasseniveau, blev der ikke udskrevet nogen erklæring på konsollen.
Resumé:
I denne vejledning lærte du, hvordan du ignorerer en enkelt test, gruppe af test eller alle tests ved hjælp af @Ignore-kommentar.
@Ignore annotation kan bruges i to scenarier som angivet nedenfor:
- Hvis du vil ignorere en testmetode, skal du bruge @Ignore sammen med @Test-kommentar.
- Hvis du vil ignorere alle testene i klassen, skal du bruge @Ignore-kommentar på klasseniveau.
Du lærte også, hvordan du kan give en erklæring for at forstå en anden udvikler, hvorfor en bestemt test er deaktiveret.