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