JUnit @Игнорировать тестовую аннотацию с примером
Иногда вам может потребоваться не выполнять метод/код или Тестовый кейс потому что кодирование выполнено не полностью. Для этого конкретного теста JUnit приводит @ Игнорировать аннотация, чтобы пропустить тест.
Что такое JUnit @Игнорировать тестовую аннотацию
Аннотация теста @Ignore используется для игнорирования определенных тестов или группы тестов, чтобы пропустить сбой сборки.
@ Игнорировать аннотацию можно использовать в двух сценариях, как указано ниже:
- Если вы хотите игнорировать метод тестирования, используйте @Ignore вместе с аннотацией @Test.
- Если вы хотите игнорировать все тесты класса, используйте аннотацию @Ignore на уровне класса.
Вы можете указать причину отключения теста в необязательном параметре, предоставленном аннотацией @Ignore.
Это поможет другим разработчикам, работающим над тем же фрагментом кода, понять, «почему тот или иной тест отключен?» Когда проблема с этим конкретным тестом будет устранена, вы можете просто включить его, удалив @ Игнорировать аннотацию.
Пример теста Junit – игнорировать
Как обсуждалось в приведенном выше определении, вы можете использовать аннотацию @Ignore, чтобы игнорировать тест или группу тестов.
Давайте разберемся в этом на простом примере и в приведенных ниже сценариях:
- Создание простого тестового класса без игнорирования теста.
- Игнорируйте метод тестирования, используя аннотацию @Ignore.
- Игнорируйте метод тестирования с помощью аннотации @Ignore по уважительной причине.
- Игнорируйте все методы тестирования, используя аннотацию @Ignore.
Создание простого тестового класса без игнорирования теста
Давайте создадим простой Java класс, который печатает два типа сообщений.
- Первый метод печатает простое сообщение и
- Второй метод печатает сообщение «привет».
JUnitСообщение.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
Давайте создадим JUnit тестовый класс для тестирования JUnitСообщение.java.
В этом JUnit тестовый класс,
- Первый тест под названием «testJUnitMessage()» тестирует метод printMessage() вышеуказанного класса.
- Аналогично второй тест, названный «testJUnitHiMessage» тестирует «тестJUnitHiMessage» вышеуказанного класса.
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
Давайте создадим класс запуска тестов для выполнения 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());
}
}
Мощность
Распечатайте заявление на консоли:
Приветственное сообщение Junit печатается
Привет!Guru99
Сообщение Junit печатается
Guru99
Игнорировать метод тестирования с помощью аннотации @Ignore.
Давайте создадим тест игнорирования, чтобы отключить тест в приведенном выше примере. Для этого вам нужно использовать @Ignore в методе, который вы хотите пропустить.
Давайте сделаем это для тестаJUnitСообщение() из 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());
}
}
Мощность
Давайте выполним и проверим вывод приведенного выше примера.
Ниже показано, что один тест пропущен (отключен), см. пометку ниже:
Распечатайте заявление на консоли:
Приветственное сообщение Junit печатается
Привет!Guru99
Использование аннотации @ ignore с условием
Давайте возьмем пример того, как игнорировать тест и вместе с ним определим причину игнорирования. Как обсуждалось выше, для указания причины у вас есть один необязательный параметр в аннотации @Ignore, в котором вы можете указать причину.
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());
}
}
Мощность
То же, что и выше.
Игнорируйте все методы тестирования, используя аннотацию @Ignore.
Как обсуждалось выше, чтобы игнорировать все тесты в классе, вам необходимо использовать аннотацию @Ignore на уровне класса.
Давайте изменим приведенный выше пример, чтобы понять, как игнорировать все тесты:
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());
}
}
Выход:
Распечатайте заявление на консоли:
Поскольку оба теста пропускаются с использованием @Ignore на уровне класса, поэтому на консоли не будет выводиться ни один оператор.
Резюме
В этом уроке вы узнали, как игнорировать один тест, группу тестов или все тесты с помощью аннотации @Ignore.
@ Игнорировать аннотацию можно использовать в двух сценариях, как указано ниже:
- Если вы хотите игнорировать метод тестирования, используйте @Ignore вместе с аннотацией @Test.
- Если вы хотите игнорировать все тесты класса, используйте аннотацию @Ignore на уровне класса.
Вы также узнали, как предоставить заявление, чтобы другой разработчик понял, почему тот или иной тест отключен.



