JUnit @Negeer testannotatie met voorbeeld
โก Slimme samenvatting
JUnit Met de annotatie 'Ignore Test Annotation' kunnen ontwikkelaars individuele testmethoden of hele klassen overslaan tijdens het bouwen van builds. De annotatie behandelt syntax, redenen en voorwaarden voor het overslaan van tests.pingen JUnit 5. Migratie van gehandicapten.

Soms is het mogelijk dat u een methode/code niet hoeft uit te voeren of Testgeval omdat de codering niet volledig is uitgevoerd. Voor die specifieke test JUnit biedt @Negeren annotatie om de test over te slaan.
Wat is JUnit @Negeer testannotatie
De testannotatie @Ignore wordt gebruikt om bepaalde tests of een groep tests te negeren om zo de build-fout over te slaan.
@Negeren annotatie kan in twee scenario's worden gebruikt, zoals hieronder weergegeven:
- Als u een testmethode wilt negeren, gebruikt u @Ignore samen met de annotatie @Test.
- Als u alle tests van de klasse wilt negeren, gebruikt u de annotatie @Ignore op klasseniveau.
U kunt de reden voor het uitschakelen van een test opgeven in de optionele parameter die wordt verstrekt door de annotatie @Ignore.
Het zal andere ontwikkelaars die aan hetzelfde stuk code werken, helpen te begrijpen โwaarom een โโbepaalde test is uitgeschakeld?โ Wanneer het probleem van die specifieke test is opgelost, kunt u deze eenvoudig inschakelen door deze te verwijderen @Annotatie negeren.
Junit-testvoorbeeld โ Negeren
Zoals besproken in de bovenstaande definitie, kunt u de annotatie @Ignore gebruiken om een โโtest of groep van de test te negeren.
Laten we het begrijpen aan de hand van een eenvoudig voorbeeld en in de onderstaande scenario's:
- Een eenvoudige testklasse maken zonder een test te negeren.
- Negeer een testmethode met de annotatie @Ignore.
- Negeer een testmethode met de annotatie @Ignore met de juiste reden.
- Negeer alle testmethoden met de annotatie @Ignore.
Een eenvoudige testklasse maken zonder een test te negeren
Laten we een eenvoudig maken Java klasse die twee soorten berichten afdrukt.
- De eerste methode drukt een eenvoudig bericht af en
- De tweede methode drukt een "hallo" -bericht af
JUnitBericht.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
Laten we een maken JUnit testklas om te testen JUnitBericht.java.
In deze JUnit testklas,
- Eerste test, genaamd โtestJUnitMessage()โ test de โprintMessage()โ-methode van bovenstaande klasse.
- Op dezelfde manier is de tweede test, genaamd โtestJUnitHiMessageโtestsโtestJUnitHiMessageโ van bovenstaande klasse.
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
Laten we een testrunner-klasse maken om JunitTestExample.java uit te voeren
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()); } }
Output:
Verklaring op console afdrukken:
Junit Hi Bericht wordt afgedrukt
Hi!Guru99
Junit Bericht wordt afgedrukt
Guru99
Negeer een testmethode met de annotatie @Ignore
Laten we een negeertest maken om een โโtest in het bovenstaande voorbeeld uit te schakelen. Hiervoor moet je @Ignore gebruiken in de methode die je wilt overslaan.
Laten we het doen als testJUnitBericht() van 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()); } }
Output:
Laten we de uitvoer van het bovenstaande voorbeeld uitvoeren en verifiรซren.
Onderstaande uitvoer laat zien dat รฉรฉn test wordt overgeslagen (uitgeschakeld), zie zoals hieronder aangegeven:
Verklaring op console afdrukken:
Junit Hi Bericht wordt afgedrukt
Hi!Guru99
Met behulp van @ negeer annotatie met Voorwaarde
Laten we het voorbeeld nemen van hoe u een test negeert en de reden voor het negeren ervan definiรซren. Zoals hierboven besproken, heeft u, om een โโreden op te geven, รฉรฉn optionele parameter in de @Ignore-annotatie, waar u de redenverklaring kunt opgeven.
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()); } }
Output:
Hetzelfde als hierboven.
Negeer alle testmethoden met de annotatie @Ignore.
Zoals hierboven besproken, moet u, om alle tests in de klas te negeren, de annotatie @Ignore op klasniveau gebruiken.
Laten we het bovenstaande voorbeeld aanpassen om te begrijpen hoe u alle tests kunt negeren:
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()); } }
Output:
Verklaring op console afdrukken:
Omdat beide tests werden overgeslagen door @Ignore op klasseniveau te gebruiken, werd er geen verklaring op de console afgedrukt.



