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.



