Я использую jUnit для управления интеграционными тестами для приложения, которое обращается к базе данных. Поскольку настройка тестовых данных - это трудоемкая операция, я делаю это в методе @BeforeClass
, который выполняется только один раз для каждого тестового класса (в отличие от метода @Before
, который запускается один раз для каждого тестового метода).С jUnit 4 можно ли параметризовать @BeforeClass?
Теперь я хочу попробовать несколько разных перестановок для настройки уровня данных, выполнив все мои тесты для каждой другой конфигурации. Это кажется естественным использованием тестового бегуна Parameterized
. Проблема заключается в том, что Parameterized
предоставляет параметры конструктору класса, а метод @BeforeClass
является абстрактным и вызывается перед конструктором класса.
Несколько вопросов,
ли Parameterized
вызов метода @BeforeClass
для каждой перестановки параметров, или же это только позвонить один раз?
Если метод @BeforeClass
вызывается повторно, есть ли способ получить доступ к значениям параметров изнутри?
Если ни один из них, что люди считают лучшим альтернативным подходом к этой проблеме?
Посмотрите, может ли http://code.google.com/p/junitparams/ помочь – Jayan
Так что до сих пор нет способа сделать это? –
Эффект может быть выполнен с помощью специального тестового бегуна. Как правило, вы должны подклассифицировать BlockJUnit4ClassRunner. –