Как запустить метод перед исполняемым классом с тестами? (аннотации junit @Before не подходят)
Всем привет. Есть класс запуска тестов CucumberRunnerTest
. Перед его запуском мне нужно запустить другую функцию, которая генерирует сценарии из других файлов в директорию, которая указана в feature
(изначально она пустая)
package ru.cucumber.test;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/resources/scenarios",
glue = "ru/cucumber/test/stepDefinition"
)
public class CucumberRunnerTest {
}
После того, как я запускаю mvn clean test
нужно правило, что перед CucumberRunnerTest
сгенерировать сценарии, используя другой мой метод
Аннотации @Before, @BeforeClass, @BeforeAll не подходят, тк они запускаются после инициализации класса CucumberRunnerTest
. Поэтому получается, что параметр feature
указывает на пустую директорию, где нет сгенерированных файлов
Ответы (1 шт):
class TestStackOwerflow {
@BeforeEach
void setUp() {
}
}
в junit5 аннотации before
не работают.
Вместо этой аннотации в Junit5 пишется аннотация BeforeEach
с методом setUp()
, который вызывается перед каждым тестируемым методом.
При создании теста спрашивается, создать ли его автоматически, или можно написать его самостоятельно.