У Junit тестовий пакет дозволяє об’єднати всі тестові кейси з декількох класів в одному місці та запустити їх разом.
Щоб запустити тест набору, вам потрібно анотувати клас, використовуючи згадані нижче анотації:
- @Runwith (Suite.class)
- @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 тестовий пакет дозволяє об’єднати всі тестові кейси багатьох класів в одному місці та запустити його разом.