Створити JUnit Набір тестів із прикладом: @RunWith @SuiteClasses
У Junit набір тестів дозволяє нам об’єднувати всі тести з кількох класів в одному місці та запускати їх разом.
Щоб запустити тест набору, вам потрібно анотувати клас за допомогою наведених нижче анотацій:
- @Runwith(Suite.class)
- @SuiteClasses(test1.class,test2.class……) або@Suite.SuiteClasses ({test1.class, test2.class……})
З анотаціями вище всі тестові класи в пакеті почнуть виконуватися один за іншим.
Кроки для створення набору тестів і запуску тестів
Крок 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 Приклад набору тестів
Розглянемо більш складний приклад
JunitTest.java
JunitTest.java — це простий клас з анотаціями @RunWith та @Suite анотації. Ви можете перерахувати кількість .classes у наборі як параметри, як наведено нижче:
package guru99.junit; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ SuiteTest1.class, SuiteTest2.class, }) public class JunitTest { // This class remains empty, it is used only as a holder for the above annotations }
SuiteTest1.java
SuiteTest1.java це тестовий клас, який має тестовий метод для друку повідомлення, як наведено нижче. Ви будете використовувати цей клас як набір у вищезазначеному класі.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class SuiteTest1 { public String message = "Saurabh"; JUnitMessage junitMessage = new JUnitMessage(message); @Test(expected = ArithmeticException.class) public void testJUnitMessage() { System.out.println("Junit Message is printing "); junitMessage.printMessage(); } @Test public void testJUnitHiMessage() { message = "Hi!" + message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); System.out.println("Suite Test 2 is successful " + message); } }
SuiteTest2.java
SuiteTest2.java це ще один тестовий клас, схожий на SuiteTest1.java наявність тестового методу для друку повідомлення, як наведено нижче. Ви використовуватимете цей клас як набір у JunitTest.java.
package guru99.junit; import org.junit.Assert; import org.junit.Test; public class SuiteTest2 { @Test public void createAndSetName() { String expected = "Y"; String actual = "Y"; Assert.assertEquals(expected, actual); System.out.println("Suite Test 1 is successful " + actual); } }
Вихід
Після виконання JunitTest.java, який містить набір, що має test1.java та test2.java, ви отримаєте нижче вихідні дані:
Підсумки
У цьому підручнику ви детально ознайомилися з основами тестової системи та наборів тестів на прикладі.
- Тест джгута або автоматики Тестування це програмне забезпечення або набір програмного забезпечення, яке дозволяє користувачеві тестувати дані за допомогою кількох вводів і контролювати виконання
- Тестовий джгут фактично дає змогу створити тестову структуру, яка виконує всю роботу з виконання тестів за допомогою тестової бібліотеки та генерує тестовий звіт
- У Junit набір тестів дозволяє нам об’єднувати всі тестові приклади багатьох класів в одному місці та запускати їх разом.