В 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
Рассмотрим более сложный пример
JunitTest.java
JunitTest.java — это простой класс, аннотированный аннотациями @RunWith и @Suite . Вы можете перечислить количество классов в наборе в качестве параметров, как указано ниже:
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 набор тестов позволяет нам объединять все тестовые наборы многих классов в одном месте и запускать его вместе.






