JUnit @Ignorer l'annotation de test avec exemple
โก Rรฉsumรฉ intelligent
JUnit L'annotation ยซ Ignorer les tests ยป permet aux dรฉveloppeurs d'ignorer des mรฉthodes de test individuelles ou des classes entiรจres lors des compilations, en couvrant la syntaxe, les raisons et l'ignorance conditionnelle.ping et JUnit 5 Migration dรฉsactivรฉe.

Parfois, vous devrez peut-รชtre ne pas exรฉcuter une mรฉthode/un code ou Cas de test car le codage nโest pas entiรจrement fait. Pour ce test particulier, JUnit offre aux @Ignorer annotation pour ignorer le test.
Qu'est-ce que le JUnit @Ignorer l'annotation de test
L'annotation de test @Ignore est utilisรฉe pour ignorer des tests particuliers ou un groupe de tests afin d'ignorer l'รฉchec de la construction.
@Ignorer L'annotation peut รชtre utilisรฉe dans deux scรฉnarios comme indiquรฉ ci-dessous :
- Si vous souhaitez ignorer une mรฉthode de test, utilisez @Ignore avec l'annotation @Test.
- Si vous souhaitez ignorer tous les tests de classe, utilisez l'annotation @Ignore au niveau de la classe.
Vous pouvez indiquer la raison de la dรฉsactivation d'un test dans le paramรจtre facultatif fourni par l'annotation @Ignore.
Cela aidera les autres dรฉveloppeurs travaillant sur le mรชme morceau de code ร comprendre ยซ pourquoi un test particulier est dรฉsactivรฉ ? ยป Lorsque le problรจme de ce test particulier est rรฉsolu, vous pouvez simplement l'activer en supprimant @Ignorer l'annotation.
Exemple de test Junit โ Ignorer
Comme indiquรฉ dans la dรฉfinition ci-dessus, vous pouvez utiliser l'annotation @Ignore pour ignorer un test ou un groupe de tests.
Comprenons-le ร l'aide d'un exemple simple et dans les scรฉnarios ci-dessous :
- Crรฉer une classe de test simple sans ignorer un test.
- Ignorez une mรฉthode de test ร l'aide de l'annotation @Ignore.
- Ignorez une mรฉthode de test utilisant l'annotation @Ignore pour une bonne raison.
- Ignorez toutes les mรฉthodes de test utilisant l'annotation @Ignore.
Crรฉer une classe de test simple sans ignorer un test
Crรฉons un simple Java classe qui imprime deux types de messages.
- La premiรจre mรฉthode imprime un message simple et
- La deuxiรจme mรฉthode imprime un message ยซ salut ยป
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; } }
Exemple de test Junit.java
Crรฉons un JUnit classe de test ร tester JUnitMessage.java.
Dans ce nouvel article concernant notre nouveau projet JUnit classe d'essai,
- Premier test, nommรฉ ยซ testJUnitMessage() ยป teste la mรฉthode ยซ printMessage() ยป de la classe ci-dessus.
- De mรชme le deuxiรจme test, nommรฉ ยซ testJUnitHiMessage ยป teste ยซ testJUnitHiMessage ยป de la classe ci-dessus.
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
Crรฉons une classe d'exรฉcuteur de tests pour exรฉcuter 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()); } }
Sortie :
Imprimer la dรฉclaration sur la console :
Junit Salut Le message est en cours d'impression
Hello!Guru99
Le message Junit est en cours d'impression
Guru99
Ignorer une mรฉthode de test ร l'aide de l'annotation @Ignore
Crรฉons un test ignorรฉ pour dรฉsactiver un test dans l'exemple ci-dessus. Pour cela, vous devez utiliser @Ignore dans la mรฉthode que vous souhaitez ignorer.
Faisons-le pour testerJUnitMessage() de JunitTestExample.java
Exemple de test Junit.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()); } }
Sortie :
Exรฉcutons et vรฉrifions la sortie de l'exemple ci-dessus.
La sortie ci-dessous montre qu'un test est ignorรฉ (dรฉsactivรฉ), voir comme indiquรฉ ci-dessous :
Imprimer la dรฉclaration sur la console :
Junit Salut Le message est en cours d'impression
Hello!Guru99
Utilisation de l'annotation @ignorer avec Condition
Prenons l'exemple de la faรงon d'ignorer un test et dรฉfinissons en mรชme temps la raison de son ignorance. Comme indiquรฉ ci-dessus, pour fournir une raison, vous disposez d'un paramรจtre facultatif dans l'annotation @Ignore oรน vous pouvez fournir la raison.
Exemple de test Junit.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()); } }
Sortie :
Comme ci-dessus.
Ignorez toutes les mรฉthodes de test utilisant l'annotation @Ignore.
Comme indiquรฉ ci-dessus, pour ignorer tous les tests en classe, vous devez utiliser l'annotation @Ignore au niveau de la classe.
Modifions l'exemple ci-dessus pour comprendre comment ignorer tous les tests :
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()); } }
Sortie:
Imprimer la dรฉclaration sur la console :
Comme les deux tests ont รฉtรฉ ignorรฉs en utilisant @Ignore au niveau de la classe, aucune instruction ne sera imprimรฉe sur la console.



