Создавай JUnit Набор тестов с примером: @RunWith @SuiteClasses
В 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 Пример тестового набора
Рассмотрим более сложный пример
ЮнитТест.java
JunitTest.java — это простой класс, помеченный @Бежать с и @Люкс аннотации. Вы можете указать количество .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 наличие тестового метода для распечатки сообщения, как указано ниже. Вы будете использовать этот класс как набор в ЮнитТест.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); } }
Результат
После выполнения ЮнитТест.java, который содержит набор, имеющий test1.java и test2.java, вы получите результат ниже:
Резюме
В этом руководстве вы подробно изучили основы использования тестового оборудования и наборов тестов на примере.
- Тестовое оборудование или автоматизация Тестирование это программное обеспечение или набор программного обеспечения, которое позволяет пользователю тестировать данные с несколькими входами и контролировать их выполнение.
- Тестовая система фактически обеспечивает тестовую среду, которая выполняет всю работу по выполнению тестов с использованием тестовой библиотеки и созданию отчета о тестировании.
- В Junit набор тестов позволяет нам собрать все тестовые примеры многих классов в одном месте и запустить их вместе.