Я использую бегунок «Параметризованный» для выполнения некоторых тестов.Я генерирую тестовые данные из файла XML.Это отлично работает.
Теперь я хочу применить это поведение к нескольким классам тестов без необходимости реплицировать код генерации тестовых данных.Поэтому я создал абстрактный класс, который выполняет работу по заполнению тестовых данных из «XML-файла».Если бы подклассы могли сказать, какой XML-файл использовать, я бы достиг своей цели.
Но я не смог найти способ сделать это.
Это мой супер-class
@RunWith(Parameterized.class)
public abstract class AbstractXMLDrivenTest{
@@Parameters
public static Collection<Object[]> generateData () {
/* Reads an XML File and returns test input data */
}
}
Вот подкласс
public class TestSomeThing extends AbstractXMLDrivenTest {
public TestSomeThing(args) {
/* Args are populated by generateData in superclass */
}
}
Это прекрасно работает, если я использую XML-файл, предназначенный для TestSomething в AbstractXMLDrivenTest.Я хочу, чтобы XML-файл определялся подклассом, т.е. TestSomething, чтобы я мог использовать суперкласс с другими тестовыми примерами.Надеюсь, теперь все ясно.