Можно ли с помощью jUnit 4 параметризовать @BeforeClass?

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

Теперь я хочу попробовать несколько различных перестановок для конфигурации уровня данных, запустив все мои тесты для каждой отдельной конфигурации. Это кажется естественным использованием средства запуска тестов Parameterized. Проблема в том, что Parameterizedпредоставляет параметры конструктору класса, а метод @BeforeClassявляется абстрактным и вызывается перед конструктором класса.

Несколько вопросов:

Вызывает ли Parameterizedметод @BeforeClassдля каждой перестановки параметров или он вызывается только один раз?

Если метод @BeforeClassвызывается повторно, есть ли способ получить доступ к значениям параметров изнутри?

Если ни один из них, что люди предлагают в качестве наилучшего альтернативного подхода к этой проблеме?

16
задан Kevin Welker 23 June 2012 в 04:37
поделиться