В данный момент мы уже знаем, как добавлять и запускать тесты. Теперь давайте разберемся с тем, как группировать наши тесты для создания тестовых сьютов (Test Suites). Test Suite довольно важный эелемент, потому что он позволяет группировать несколько тестов, которые объединены определенной концепцией.
Создание класса для JUnit Test Suite
Для создания test suite мы должны использовать аннотацию @RunWith и @Suite.SuiteClasses. Мы создадим класс TestSuite и добавим ему эти две аннотации.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package junits; import org.junit.runner.RunWith; import org.junit.runners.Suite; /* * This is a test suite class that we will create to run all our tests * Follow along to see how its done Pay special attention to annotations */ @RunWith(Suite.class) @Suite.SuiteClasses({ JunitMathProvider_1.class, JunitMathProvider_2.class }) public class TestSuite { } |
Давайте разберем, что здесь реализовано, более детально.
1) Импорты:
1 2 |
import org.junit.runner.RunWith; import org.junit.runners.Suite; |
Здесь мы импортируем аннотации @RunWith и @Suite.
2) Аннотации Test Suite
1 |
@RunWith(Suite.class) |
Здесь мы объявили пустой класс, но добавили аннотации @RunWith(Suite.class) и Suite.SuiteClasses({}). Аннотация RunWith сообщает Junit runner, что этот класс (TestSuite) не будет использовать Junit runner по-умолчанию, но предоставит запуск другого класса с помощью аннотации @RunWith. Suite - это класс фреймворка Junit, который позволяет нам запускать тесты путем добавления нескольких тестовых классов.
Перейдем к следующей строке:
1 2 3 |
@Suite.SuiteClasses({ JunitMathProvider_1.class,JunitMathProvider_2.class }) |
Здесь мы указываем, что класс Suite должен добавить тестовые классы JunitMathProvider_1 и JunitMathProvider_2. Эти два теста объединены одной аннотацией и при запуске будут выполнятся вместе. После добавления этого класса Вы увидете, что Junit запустит тест в этом классе также.
Надеюсь, что цикл статей по Junit, позволит увеличить Ваши знания в этом фреймворке.