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:
- Wenn Sie eine Testmethode ignorieren mรถchten, verwenden Sie @Ignore zusammen mit der Annotation @Test.
- 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:
- Erstellen einer einfachen Testklasse, ohne einen Test zu ignorieren.
- Ignorieren Sie eine Testmethode mithilfe der Annotation @Ignore.
- Ignorieren Sie eine Testmethode mithilfe der Annotation @Ignore mit der entsprechenden Begrรผndung.
- 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:
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:
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:
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:
- Wenn Sie eine Testmethode ignorieren mรถchten, verwenden Sie @Ignore zusammen mit der Annotation @Test.
- 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.



