Иногда вам может потребоваться не выполнять метод / код или тестовый пример, потому что кодирование выполнено не полностью. Для этого конкретного теста JUnit предоставляет аннотацию @Ignore, чтобы пропустить тест.
В этом руководстве вы узнаете:
- Что такое тестовая аннотация JUnit @Ignore
- Пример теста Junit - игнорировать
- Создание простого тестового класса без игнорирования теста
- Игнорировать метод тестирования с помощью аннотации @Ignore
- Использование аннотации @ ignore с условием
- Игнорируйте все методы тестирования, используя аннотацию @Ignore.
Что такое тестовая аннотация JUnit @Ignore
Аннотация теста @Ignore используется для игнорирования определенных тестов или группы тестов, чтобы пропустить сбой сборки.
Аннотацию @Ignore можно использовать в двух сценариях, как показано ниже:
- Если вы хотите игнорировать метод тестирования, используйте @Ignore вместе с аннотацией @Test.
- Если вы хотите игнорировать все тесты класса, используйте аннотацию @Ignore на уровне класса.
Вы можете указать причину отключения теста в необязательном параметре, предоставляемом аннотацией @Ignore.
Это поможет другим разработчикам, работающим над тем же фрагментом кода, понять, «почему тот или иной тест отключен?» Когда проблема этого конкретного теста будет устранена, вы можете просто включить ее, удалив аннотацию @Ignore .
Пример теста Junit - игнорировать
Как обсуждалось в определении выше, вы можете использовать аннотацию @Ignore, чтобы игнорировать тест или группу тестов.
Давайте разберемся в этом на простом примере и в приведенных ниже сценариях:
- Создание простого тестового класса без игнорирования теста.
- Игнорировать тестовый метод с помощью аннотации @Ignore.
- Игнорировать тестовый метод с использованием аннотации @Ignore по уважительной причине.
- Игнорировать все методы тестирования с помощью аннотации @Ignore.
Создание простого тестового класса без игнорирования теста
Давайте создадим простой Java-класс, который печатает два типа сообщений.
- Первый метод печатает простое сообщение и
- Второй метод выводит сообщение "привет".
JUnitMessage.java
пакет guru99.junit;public class JUnitMessage {личное строковое сообщение;public JUnitMessage (строковое сообщение) {this.message = сообщение;}public String printMessage () {System.out.println (сообщение);ответное сообщение;}public String printHiMessage () {message = «Привет!» + сообщение;System.out.println (сообщение);ответное сообщение;}}
JunitTestExample.java
Давайте создадим тестовый класс JUnit для тестирования JUnitMessage.java.
В этом тестовом классе JUnit
- Первый тест, названный «testJUnitMessage ()», проверяет метод «printMessage ()» указанного выше класса.
- Аналогичным образом второй тест, названный «testJUnitHiMessage», проверяет «testJUnitHiMessage» указанного выше класса.
пакет guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class JunitTestExample {общедоступное сообщение String = "Guru99";JUnitMessage junitMessage = новый JUnitMessage (сообщение);@Тестpublic void testJUnitMessage () {System.out.println («Сообщение Junit печатается»);assertEquals (сообщение, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Привет!" + сообщение;System.out.println («Печатается приветственное сообщение Junit»);assertEquals (сообщение, junitMessage.printHiMessage ());}}
TestRunner.java
Давайте создадим тестовый класс runner для выполнения JunitTestExample.java.
пакет 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 = JUnitCore.runClasses (JunitTestExample.class);for (Failure failure: result.getFailures ()) {System.out.println (отказ.toString ());}System.out.println ("Результат ==" + result.wasSuccessful ());}}
Выход:
Распечатать заявление на консоли:
Сообщение Junit Hi печатается
Привет! Guru99
Сообщение Junit печатается
Guru99
Игнорировать метод тестирования с помощью аннотации @Ignore
Давайте создадим тест игнорирования, чтобы отключить тест в приведенном выше примере. Для этого вам нужно использовать @Ignore в методе, который вы хотите пропустить.
Сделаем это для testJUnitMessage () из JunitTestExample.java
JunitTestExample.java
пакет guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {общедоступное сообщение String = "Guru99";JUnitMessage junitMessage = новый JUnitMessage (сообщение);@ Игнорировать@Тестpublic void testJUnitMessage () {System.out.println («Сообщение Junit печатается»);assertEquals (сообщение, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Привет!" + сообщение;System.out.println («Печатается приветственное сообщение Junit»);assertEquals (сообщение, junitMessage.printHiMessage ());}}
Выход:
Давайте выполним и проверим вывод приведенного выше примера.
Выходные данные ниже показывают, что один тест пропущен (отключен), как показано ниже:
Распечатать заявление на консоли:
Сообщение Junit Hi печатается
Привет! Guru99
Использование аннотации @ ignore с условием
Возьмем пример того, как игнорировать тест, и вместе с ним определим причину игнорирования. Как обсуждалось выше, чтобы указать причину, у вас есть один необязательный параметр в аннотации @Ignore, где вы можете указать причину.
JunitTestExample.java
пакет guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {общедоступное сообщение String = "Guru99";JUnitMessage junitMessage = новый JUnitMessage (сообщение);@Ignore («еще не готов, проигнорируйте»)@Тестpublic void testJUnitMessage () {System.out.println («Сообщение Junit печатается»);assertEquals (сообщение, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Привет!" + сообщение;System.out.println («Печатается приветственное сообщение Junit»);assertEquals (сообщение, junitMessage.printHiMessage ());}}
Выход:
То же, что и выше.
Игнорируйте все методы тестирования, используя аннотацию @Ignore.
Как обсуждалось выше, чтобы игнорировать все тесты в классе, вам необходимо использовать аннотацию @Ignore на уровне класса.
Давайте изменим приведенный выше пример, чтобы понять, как игнорировать все тесты:
пакет guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;@ Игнорироватьpublic class JunitTestExample {общедоступное сообщение String = "Guru99";JUnitMessage junitMessage = новый JUnitMessage (сообщение);@Тестpublic void testJUnitMessage () {System.out.println («Сообщение Junit печатается»);assertEquals (сообщение, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Привет!" + сообщение;System.out.println («Печатается приветственное сообщение Junit»);assertEquals (сообщение, junitMessage.printHiMessage ());}}
Выход :
Распечатать заявление на консоли:
Поскольку оба теста пропущены с использованием @Ignore на уровне класса, на консоли не будет выводиться ни один оператор.
Резюме:
В этом руководстве вы узнали, как игнорировать один тест, группу тестов или все тесты с помощью аннотации @Ignore.
Аннотацию @Ignore можно использовать в двух сценариях, как показано ниже:
- Если вы хотите игнорировать метод тестирования, используйте @Ignore вместе с аннотацией @Test.
- Если вы хотите игнорировать все тесты класса, используйте аннотацию @Ignore на уровне класса.
Вы также узнали, как предоставить заявление, чтобы дать понять другому разработчику, почему тот или иной тест отключен.