Я использую jUnit для управления интеграционными тестами для приложения, которое обращается к базе данных. Поскольку настройка тестовых данных - это трудоемкая операция, я делаю это в методе @BeforeClass
, который выполняется только один раз для каждого тестового класса (в отличие от метода @Before
, который запускается один раз для каждого метода тестирования).
Теперь я хочу попробовать несколько разных перестановок для настройки уровня данных, выполнив все мои тесты в каждой другой конфигурации. Это кажется естественным использованием тестового бегунка Parameterized
. Проблема заключается в том, что Parameterized
поставляет параметры конструктору класса, а метод @BeforeClass
является абстрактным и вызывается перед конструктором класса.
Несколько вопросов,
Вызывает ли Parameterized
метод @BeforeClass
для каждой перестановки параметров или вызывает ли он только один раз?
Если метод @BeforeClass
вызывается повторно, есть ли способ получить доступ к значениям параметров изнутри?
Если ни один из них, что люди считают лучшим альтернативным подходом к этой проблеме?