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.

  • 🚫 Méthode de saut : @Ignorer ci-dessus @Test le contourne.
  • 📝 Raison: @Ignore(“reason”) affiche le contexte dans les rapports.
  • 📦 Sécher les cours : L'annotation @Ignore sur une classe ignore toutes les méthodes.
  • 🧩 Conditionnel: Combinez avec @Assume dans JUnit 4.
  • 🚀 JUnit 5: Utilisez les variantes @Disabled et EnabledOn.
  • 🤖 AI Triage: L'IA signale automatiquement les tests obsolètes et ignorés.

JUnit @Ignorer l'annotation du test

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 :

  1. Si vous souhaitez ignorer une méthode de test, utilisez @Ignore avec l'annotation @Test.
  2. 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 :

  1. Créer une classe de test simple sans ignorer un test.
  2. Ignorez une méthode de test à l'aide de l'annotation @Ignore.
  3. Ignorez une méthode de test utilisant l'annotation @Ignore pour une bonne raison.
  4. 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 :

Créer une classe de test simple sans ignorer un test

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 :

Créer une classe de test simple sans ignorer un test

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:

Ignorer les méthodes de test à l'aide de @Ignore Annotation

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.

FAQ

Ignore une méthode de test ou une classe. Indique toujours comme ignorée dans les rapports.

Oui. L'IA analyse l'historique des échecs pour repérer les candidats peu fiables.

L'IA insère @Ignore(“reason”) à partir du contexte de commit.

@Disabled, plus @DisabledOnOs et @EnabledOnJre.

Oui. Marqué comme ignoré, indépendamment de la réussite ou de l'échec.

@DisabledOnOs(OS.WINDOWS) dans JUnit 5.

Oui. Ils accumulent des dettes ; il faut revoir chaque nouvelle version.

Oui. Ignorez la mention @Ignorer ci-dessus dans la déclaration de classe.

Résumez cet article avec :