JUnit @Ignore Test Annotation з прикладом

Зміст:

Anonim

Іноді вам може знадобитися не виконувати метод / код чи тест-кейс, оскільки кодування виконано не повністю. Для цього конкретного тесту JUnit надає анотацію @Ignore, щоб пропустити тест.

У цьому підручнику ви дізнаєтесь-

  • Що таке анотація тесту JUnit @Ignore
  • Приклад тесту Junit - ігнорувати
  • Створення простого тестового класу без ігнорування тесту
  • Ігноруйте метод тестування за допомогою анотації @Ignore
  • Використання анотації @ ignore із умовою
  • Ігноруйте всі методи тестування за допомогою анотації @Ignore.

Що таке анотація тесту JUnit @Ignore

Анотація тесту @Ignore використовується для ігнорування певних тестів або групи тестів, щоб уникнути помилки збірки.

Анотацію @Ignore можна використовувати у двох сценаріях, як зазначено нижче:

  1. Якщо ви хочете проігнорувати метод тестування, використовуйте @Ignore разом із @Test анотацією.
  2. Якщо ви хочете ігнорувати всі тести класу, використовуйте анотацію @Ignore на рівні класу.

Ви можете вказати причину відключення тесту в необов’язковому параметрі, передбаченому анотацією @Ignore.

Це допоможе іншим розробникам, що працюють над тим самим фрагментом коду, зрозуміти, "чому певний тест відключений?" Коли проблема з цим тестом буде виправлена, ви можете просто ввімкнути її, видаливши анотацію @Ignore .

Приклад тесту Junit - ігнорувати

Як обговорювалось у наведеному вище визначенні, ви можете використовувати анотацію @Ignore, щоб ігнорувати тест або групу тесту.

Давайте зрозуміємо це на простому прикладі та в наведених нижче сценаріях:

  1. Створення простого тестового класу без ігнорування тесту.
  2. Ігноруйте метод тестування за допомогою анотації @Ignore.
  3. Ігноруйте метод тестування за допомогою анотації @Ignore з належною причиною.
  4. Ігноруйте весь метод тестування за допомогою анотації @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 можна використовувати у двох сценаріях, як зазначено нижче:

  1. Якщо ви хочете проігнорувати метод тестування, використовуйте @Ignore разом із @Test анотацією.
  2. Якщо ви хочете ігнорувати всі тести класу, використовуйте анотацію @Ignore на рівні класу.

Ви також дізналися, як подати заяву, щоб зрозуміти іншого розробника, чому певний тест відключений.