JUnit @Testanmerkung mit Beispiel ignorieren

Manchmal kann es erforderlich sein, eine Methode/einen Code nicht auszufรผhren Testfall weil die Codierung nicht vollstรคndig erfolgt ist. Fรผr diesen speziellen Test JUnit unterstรผtzt @Ignorieren Anmerkung, um den Test zu รผberspringen.

Was ist JUnit @Testanmerkung ignorieren

Die Testanmerkung @Ignore wird verwendet, um bestimmte Tests oder Testgruppen zu ignorieren, um den Build-Fehler zu รผberspringen.

@Ignorieren Annotation kann in zwei Szenarien verwendet werden, wie unten angegeben:

  1. Wenn Sie eine Testmethode ignorieren mรถchten, verwenden Sie @Ignore zusammen mit der Annotation @Test.
  2. Wenn Sie alle Tests der Klasse ignorieren mรถchten, verwenden Sie die Annotation @Ignore auf Klassenebene.

Sie kรถnnen den Grund fรผr die Deaktivierung eines Tests im optionalen Parameter angeben, der von der @Ignore-Annotation bereitgestellt wird.

Dies hilft anderen Entwicklern, die an demselben Code arbeiten, zu verstehen, โ€žwarum ein bestimmter Test deaktiviert istโ€œ. Wenn das Problem dieses bestimmten Tests behoben ist, kรถnnen Sie ihn einfach durch Entfernen aktivieren @Anmerkung ignorieren.

Junit-Testbeispiel โ€“ Ignorieren

Wie in der obigen Definition erlรคutert, kรถnnen Sie die Annotation @Ignore verwenden, um einen Test oder eine Testgruppe zu ignorieren.

Lassen Sie es uns anhand eines einfachen Beispiels und der unten angegebenen Szenarien verstehen:

  1. Erstellen einer einfachen Testklasse, ohne einen Test zu ignorieren.
  2. Ignorieren Sie eine Testmethode mithilfe der Annotation @Ignore.
  3. Ignorieren Sie eine Testmethode mithilfe der Annotation @Ignore mit der entsprechenden Begrรผndung.
  4. Ignorieren Sie alle Testmethoden mithilfe der Annotation @Ignore.

Erstellen einer einfachen Testklasse, ohne einen Test zu ignorieren

Lassen Sie uns eine einfache erstellen Java Klasse, die zwei Arten von Nachrichten druckt.

  • Die erste Methode gibt eine einfache Nachricht aus und
  • Die zweite Methode gibt eine โ€žHalloโ€œ-Nachricht aus

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;					
}    		
    		
}		

JunitTestExample.java

Lassen Sie uns eine erstellen JUnit Testklasse zum Testen JUnitMessage.java.

In dieser JUnit Testklasse,

  • Erster Test mit dem Namen โ€žtestJUnitโ€žMessage()โ€œ testet die Methode โ€žprintMessage()โ€œ der oben genannten Klasse.
  • Ebenso der zweite Test mit dem Namen โ€žtestJUnitHiMessageโ€œ testet โ€žtestJUnitHiMessageโ€œ der oben genannten 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

Erstellen wir eine Test-Runner-Klasse zur Ausfรผhrung von 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());							
   }		
}      	

Ausgang:

Erstellen einer einfachen Testklasse, ohne einen Test zu ignorieren

Druckanweisung auf der Konsole:

Junit Hi Message wird gedruckt

Hallo!Guru99

Junit-Nachricht wird gedruckt

Guru99

Ignorieren Sie eine Testmethode mithilfe der Annotation @Ignore

Lassen Sie uns einen Ignoriertest erstellen, um einen Test im obigen Beispiel zu deaktivieren. Dazu mรผssen Sie @Ignore in der Methode verwenden, die Sie รผberspringen mรถchten.

Machen wir es zum TestJUnitMessage() von 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());					

    }		
}

Ausgang:

Lassen Sie uns die Ausgabe des obigen Beispiels ausfรผhren und รผberprรผfen.

Die folgende Ausgabe zeigt, dass ein Test รผbersprungen (deaktiviert) wurde, siehe unten:

Erstellen einer einfachen Testklasse, ohne einen Test zu ignorieren

Druckanweisung auf der Konsole:

Junit Hi Message wird gedruckt

Hallo!Guru99

Verwenden der @-Annotation mit Bedingung ignorieren

Nehmen wir das Beispiel, wie man einen Test ignoriert, und definieren zusammen mit ihm den Grund fรผr das Ignorieren. Wie oben erlรคutert, haben Sie zur Angabe eines Grundes einen optionalen Parameter in der @Ignore-Annotation, in dem Sie die Begrรผndung angeben kรถnnen.

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());					

    }		
}		

Ausgang:

Das gleiche wie oben.

Ignorieren Sie alle Testmethoden mit der Annotation @Ignore.

Wie oben erlรคutert, mรผssen Sie zum Ignorieren aller Tests in der Klasse die Annotation @Ignore auf Klassenebene verwenden.

ร„ndern wir das obige Beispiel, um zu verstehen, wie alle Tests ignoriert werden:

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());					

    }		
}		

Ausgang:

Ignorieren Sie Testmethoden mithilfe der @Ignore-Annotation

Druckanweisung auf der Konsole:

Da beide Tests durch die Verwendung von @Ignore auf Klassenebene รผbersprungen wurden, wurde keine Anweisung auf der Konsole ausgegeben.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie einen einzelnen Test, eine Testgruppe oder alle Tests mithilfe der Annotation @Ignore ignorieren.

@Ignorieren Annotation kann in zwei Szenarien verwendet werden, wie unten angegeben:

  1. Wenn Sie eine Testmethode ignorieren mรถchten, verwenden Sie @Ignore zusammen mit der Annotation @Test.
  2. Wenn Sie alle Tests der Klasse ignorieren mรถchten, verwenden Sie die Annotation @Ignore auf Klassenebene.

Sie haben auch gelernt, wie Sie eine Erklรคrung abgeben, um anderen Entwicklern verstรคndlich zu machen, warum ein bestimmter Test deaktiviert ist.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: