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