Не так хорошо знаком с TestNG, но, насколько я понимаю, вы можете сделать что-то похожее с комбинацией Categories
, Suite
и @BeforeClass
/ @AfterClass
.
Например:
import org.junit.BeforeClass;
import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.IncludeCategory;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Categories.class)
@SuiteClasses(MyClassTest.class)
@IncludeCategory(IntegrationTest.class)
public class StaticTests {
@BeforeClass
public static void setUp() {
System.out.println("Hello, World!");
}
}
Затем в ваших тестах пометьте вещи как @Category(IntegrationTest.class)
, и вы получите логическую группу тестов - из нескольких различных классов тестов - которые вы можете запустить инициализациюоколо.
Категории позволяют вам отмечать определенные тесты для включения в комплект, хотя также возможно (если вы сначала выделяете по классам) просто включить соответствующие тесты в комплект или сделать их наследуемыми.из базового класса, который имеет эту конфигурацию в нем.Какой из них лучше, зависит от того, как вы хотите группировать свои тесты и ваши конкретные варианты использования.
Как упоминает Мэтью Фарвелл , есть также TestRule
с, которые дают вам более тонкий контроль для настройки вокруг набора тестов.