Іноді вам може знадобитися не виконувати метод / код чи тест-кейс, оскільки кодування виконано не повністю. Для цього конкретного тесту 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;відкритий клас JUnitMessage {приватне рядкове повідомлення;public JUnitMessage (рядкове повідомлення) {this.message = 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;імпортувати статичний org.junit.Assert.assertEquals;імпорт org.junit.Test;публічний клас JunitTestExample {повідомлення публічного рядка = "Guru99";JUnitMessage junitMessage = новий JUnitMessage (повідомлення);@ Тестpublic void testJUnitMessage () {System.out.println ("Junit Message is Print");assertEquals (message, junitMessage.printMessage ());}@ Тестpublic void testJUnitHiMessage () {message = "Привіт!" + повідомлення;System.out.println ("Друкується повідомлення Junit Hi");assertEquals (message, junitMessage.printHiMessage ());}}
TestRunner.java
Давайте створимо тестовий клас бігуна для запуску JunitTestExample.java
пакет guru99.junit;імпорт org.junit.runner.JUnitCore;імпорт org.junit.runner.Result;імпорт org.junit.runner.notification.Failure;публічний клас TestRunner {public static void main (String [] args) {Результат результату = JUnitCore.runClasses (JunitTestExample.class);for (Помилка помилки: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Результат ==" + result.wasSuccessful ());}}
Вихід:
Друк заяви на консолі:
Друкується повідомлення Junit Hi
Привіт! Гуру99
Повідомлення Junit друкується
Гуру99
Ігноруйте метод тестування за допомогою анотації @Ignore
Давайте створимо тест ігнорування, щоб вимкнути тест у наведеному вище прикладі. Для цього вам потрібно використовувати @Ignore у методі, який ви хочете пропустити.
Давайте зробимо це для testJUnitMessage () з JunitTestExample.java
JunitTestExample.java
пакет guru99.junit;імпортувати статичний org.junit.Assert.assertEquals;імпорт org.junit.Ignore;імпорт org.junit.Test;публічний клас JunitTestExample {повідомлення публічного рядка = "Guru99";JUnitMessage junitMessage = новий JUnitMessage (повідомлення);@ Ігнорувати@ Тестpublic void testJUnitMessage () {System.out.println ("Junit Message is Print");assertEquals (message, junitMessage.printMessage ());}@ Тестpublic void testJUnitHiMessage () {message = "Привіт!" + повідомлення;System.out.println ("Друкується повідомлення Junit Hi");assertEquals (message, junitMessage.printHiMessage ());}}
Вихід:
Давайте виконаємо та перевіримо результати вищенаведеного прикладу.
Нижче на виході видно, що один тест пропущено (вимкнено), див., Як зазначено нижче:
Друк заяви на консолі:
Друкується повідомлення Junit Hi
Привіт! Гуру99
Використання анотації @ ignore із умовою
Візьмемо приклад того, як ігнорувати тест і визначити разом із ним причину ігнорування. Як обговорювалося вище, для надання причини у вас є один необов’язковий параметр у анотації @Ignore, де ви можете вказати причину.
JunitTestExample.java
пакет guru99.junit;імпортувати статичний org.junit.Assert.assertEquals;імпорт org.junit.Ignore;імпорт org.junit.Test;публічний клас JunitTestExample {повідомлення публічного рядка = "Guru99";JUnitMessage junitMessage = новий JUnitMessage (повідомлення);@Ignore ("ще не готовий, проігноруйте.")@ Тестpublic void testJUnitMessage () {System.out.println ("Junit Message is Print");assertEquals (message, junitMessage.printMessage ());}@ Тестpublic void testJUnitHiMessage () {message = "Привіт!" + повідомлення;System.out.println ("Друкується повідомлення Junit Hi");assertEquals (message, junitMessage.printHiMessage ());}}
Вихід:
Так само, як вище.
Ігноруйте всі методи тестування за допомогою анотації @Ignore.
Як обговорювалося вище, щоб ігнорувати всі тести в класі, вам потрібно використовувати анотацію @Ignore на рівні класу.
Давайте змінимо наведений вище приклад, щоб зрозуміти, як ігнорувати всі тести:
пакет guru99.junit;імпортувати статичний org.junit.Assert.assertEquals;імпорт org.junit.Ignore;імпорт org.junit.Test;@ Ігноруватипублічний клас JunitTestExample {повідомлення публічного рядка = "Guru99";JUnitMessage junitMessage = новий JUnitMessage (повідомлення);@ Тестpublic void testJUnitMessage () {System.out.println ("Junit Message is Print");assertEquals (message, junitMessage.printMessage ());}@ Тестpublic void testJUnitHiMessage () {message = "Привіт!" + повідомлення;System.out.println ("Друкується повідомлення Junit Hi");assertEquals (message, junitMessage.printHiMessage ());}}
Вихід:
Друк заяви на консолі:
Оскільки обидва тести пропущені за допомогою @Ignore на рівні класу, то жодна заява не буде надрукована на консолі.
Короткий зміст:
У цьому підручнику ви дізналися, як ігнорувати окремий тест, групу тесту чи всі тести, використовуючи анотацію @Ignore.
Анотацію @Ignore можна використовувати у двох сценаріях, як зазначено нижче:
- Якщо ви хочете проігнорувати метод тестування, використовуйте @Ignore разом із @Test анотацією.
- Якщо ви хочете ігнорувати всі тести класу, використовуйте анотацію @Ignore на рівні класу.
Ви також дізналися, як подати заяву, щоб зрозуміти іншого розробника, чому певний тест відключений.