Я пытаюсь запустить класс с несколькими тестами в двух разных условиях. В основном у меня есть куча тестов, связанных с поиском. Я добавляю новые функции новой стратегии поиска и тем временем хочу запускать уже написанные тесты в обеих конфигурациях. Поскольку у нас есть несколько классов, каждый из которых имеет несколько тестов, я хочу как можно больше оптимизировать этот процесс. В идеале было бы здорово сделать настройку в @BeforeClass с поставщиком данных, чтобы все тесты в классе в основном выполнялись дважды под разными конфигурациями, но не похоже, что это возможно.TestNG dataproviders с @BeforeClass
Прямо сейчас у меня есть:
public class SearchTest1 {
@Test(dataProvider = "SearchType")
public void test1(SearchType searchType) {
setSearchType(searchType);
//Do the test1 logic
}
@Test(dataProvider = "SearchType")
public void test2(SearchType searchType) {
setSearchType(searchType);
//Do the test2 logic
}
@DataProvider(name = "SearchType")
public Object[][] createData() {
return new Object[][]{
new Object[] {SearchType.scheme1, SearchType.scheme2}
}
}
}
Есть ли лучший способ сделать это?
Это выглядит как довольно хороший способ для меня. Кроме того, что я переместил бы поставщика данных в свой собственный класс, так что каждый может ссылаться на один и тот же. – biziclop
Вот как это устроено. Я написал это так, чтобы было легче читать здесь. Я должен упомянуть, что есть ~ 20 классов, в общей сложности 268 тестов. Я бы не хотел писать эти строки во всех 268 этих местах. – Clayton