Как создать наборы тестов с помощью JUnit 4?
Похоже, что вся документация, которую я видел, мне не подходит. И если я использую мастер Eclipse, он не дает мне возможности выбрать какой-либо из созданных мной тестовых классов.
Как создать наборы тестов с помощью JUnit 4?
Похоже, что вся документация, которую я видел, мне не подходит. И если я использую мастер Eclipse, он не дает мне возможности выбрать какой-либо из созданных мной тестовых классов.
Ответы:
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
//nothing
}
Вы можете создать подобный набор. Например, AllTest
пакет будет выглядеть примерно так.
package my.package.tests;
@RunWith(Suite.class)
@SuiteClasses({
testMyService.class,
testMyBackend.class,
...
})
public class AllTests {}
Теперь вы можете запустить это несколькими способами:
запустить из командной строки:
$ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
Я думаю, что TestSuite потерял популярность. Возможно, это был стиль до 4.x, но, насколько мне известно, он не сейчас.
Я просто аннотирую нужные мне тесты и запускаю класс. Все аннотированные тесты выполняются. Я мог бы использовать Ant, но большую часть времени IntelliJ запускает их за меня.
@SuiteClass
аннотацию в нескольких классах, и вы можете вкладывать наборы в наборы. Идея их организации в 3.x по-прежнему полностью актуальна (и ее следует использовать). Вы можете структурировать все точно так же, как и раньше; вы просто используете синтаксис аннотации вместо TestSuite.suite()
. На самом деле нет никакой пользы от использования TestSuite
аннотации, и вы можете воспользоваться всеми улучшениями JUnit 4, если используете организационно эквивалентную аннотацию.
Вот шаги для создания набора JUnit в eclipse:
Информация о версии: это для eclipse Neon и JUnit 4. Вы также можете выбрать JUnit 3 перед тем, как выбрать «Готово» на шаге 6.