Створіть JUnit Test Suite із прикладом: @RunWith @SuiteClasses

Зміст:

Anonim

У Junit тестовий пакет дозволяє об’єднати всі тестові кейси з декількох класів в одному місці та запустити їх разом.

Щоб запустити тест набору, вам потрібно анотувати клас, використовуючи згадані нижче анотації:

  1. @Runwith (Suite.class)
  2. @SuiteClasses (test1.class, test2.class…) або

    @ Suite.SuiteClasses ({test1.class, test2.class

    …})

З наведеними вище анотаціями всі тестові класи в наборі почнуть виконуватися по одному.

Етапи створення Test Suite та Test Runner

Крок 1) Створіть простий тестовий клас (наприклад, MyFirstClassTest) і додайте метод, позначений @test.

Крок 2) Створіть інший тестовий клас для додавання (наприклад, MySecondClassTest) і створіть метод, котрий коментується @test.

Крок 3) Щоб створити testSuite, потрібно спочатку анотувати клас за допомогою @RunWith (Suite.class) та @SuiteClasses (class1.class2

…).

Крок 4) Створіть клас Test Runner для запуску нашого набору тестів, як зазначено нижче;

Пояснення коду:

  • Рядок коду 8: Оголошення основного методу тесту класу, який буде запускати наш тест JUnit.
  • Рядок коду 9: Виконання тестових випадків за допомогою JunitCore.runclasses, що приймає за параметр ім’я класу тесту (у наведеному вище прикладі ви використовуєте TestSuiteExample.class, показаний на кроці 3).
  • Рядок коду 11: Обробка результату за допомогою циклу for та роздрукування невдалого результату.
  • Кодовий рядок 13: Друк успішного результату.

Результат: Ось результат, який показує успішний тест без слідів відмов, як зазначено нижче:

Приклад JUnit Test Suite

Розглянемо більш складний приклад

JunitTest.java

JunitTest.java - це простий клас, анотований анотаціями @RunWith та @Suite . Ви можете вказати кількість класів. У наборі як параметри, як зазначено нижче:

пакет guru99.junit;імпорт org.junit.runner.RunWith;імпорт org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})публічний клас JunitTest {// Цей клас залишається порожнім, він використовується лише як власник для вищевказаних анотацій}

SuiteTest1.java

SuiteTest1.java - це тестовий клас, що має метод тестування для роздрукування повідомлення, як зазначено нижче. Ви будете використовувати цей клас як набір у згаданому класі.

пакет guru99.junit;імпортувати статичний org.junit.Assert.assertEquals;імпорт org.junit.Test;публічний клас SuiteTest1 {повідомлення публічного рядка = "Saurabh";JUnitMessage junitMessage = новий JUnitMessage (повідомлення);@Test (очікується = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Junit Message is Print");junitMessage.printMessage ();}@ Тестpublic void testJUnitHiMessage () {message = "Привіт!" + повідомлення;System.out.println ("Друкується повідомлення Junit Hi");assertEquals (message, junitMessage.printHiMessage ());System.out.println ("Тест Suite 2 успішно виконаний" + повідомлення);}}

SuiteTest2.java

SuiteTest2.java - це ще один тестовий клас, подібний до SuiteTest1.java, який має метод тестування для роздрукування повідомлення, як зазначено нижче. Ви будете використовувати цей клас як набір у JunitTest.java .

пакет guru99.junit;імпорт org.junit.Assert;імпорт org.junit.Test;публічний клас SuiteTest2 {@ Тестpublic void createAndSetName () {Очікуваний рядок = "Y";Рядок фактичний = "Y";Assert.assertEquals (очікувана, фактична);System.out.println ("Тест Suite 1 успішно виконаний" + фактичний);}}

Вихідні дані

Після запуску JunitTest .java, який містить набір, що має test1.java та test2.java , ви отримаєте нижчий результат:

Резюме

У цьому посібнику ви детально вивчили основи тестових джгутів та наборів тестів на прикладі.

  • Тестовий джгут або автоматизація Тестування - це програмне забезпечення або набір програмного забезпечення, що дозволяє користувачеві тестувати дані за допомогою декількох входів і контролювати виконання
  • Тестовий джгут насправді дає можливість тестовій структурі, яка виконує всю роботу з виконання тестів за допомогою бібліотеки тестів і формування звіту про тестування
  • У Junit тестовий пакет дозволяє об’єднати всі тестові кейси багатьох класів в одному місці та запустити його разом.