В 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 . Вы можете указать количество .classes в наборе в качестве параметров, как указано ниже:
пакет guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})public class JunitTest {// Этот класс остается пустым, он используется только в качестве держателя для вышеуказанных аннотаций}
SuiteTest1.java
SuiteTest1.java - это тестовый класс, имеющий тестовый метод для печати сообщения, как указано ниже. Вы будете использовать этот класс как набор в вышеупомянутом классе.
пакет guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class SuiteTest1 {общедоступное сообщение String = "Saurabh";JUnitMessage junitMessage = новый JUnitMessage (сообщение);@Test (ожидается = ArithmeticException.class)public void testJUnitMessage () {System.out.println («Сообщение Junit печатается»);junitMessage.printMessage ();}@Тестpublic void testJUnitHiMessage () {message = "Привет!" + сообщение;System.out.println («Печатается приветственное сообщение Junit»);assertEquals (сообщение, junitMessage.printHiMessage ());System.out.println («Suite Test 2 успешно» + сообщение);}}
SuiteTest2.java
SuiteTest2.java - это еще один тестовый класс, похожий на SuiteTest1.java, имеющий тестовый метод для печати сообщения, как указано ниже. Вы будете использовать этот класс как набор в JunitTest.java .
пакет guru99.junit;import org.junit.Assert;import org.junit.Test;public class SuiteTest2 {@Тестpublic void createAndSetName () {Ожидаемая строка = "Y";Фактическая строка = "Y";Assert.assertEquals (ожидаемый, фактический);System.out.println («Suite Test 1 прошел успешно» + актуально);}}
Выход
После выполнения JunitTest .java, который содержит набор с test1.java и test2.java , вы получите следующий результат:
Резюме
В этом руководстве вы подробно изучили основы средств тестирования и наборов тестов на примере.
- Тестовая оснастка или автоматизация Тестирование - это программное обеспечение или набор программного обеспечения, которое позволяет пользователю тестировать данные с несколькими входами и контролировать выполнение.
- Тестовая оснастка фактически позволяет тестовой среде, которая выполняет всю работу по выполнению тестов с использованием тестовой библиотеки и созданию отчета о тестировании.
- В Junit набор тестов позволяет нам собрать все тестовые примеры многих классов в одном месте и запустить их вместе.