Выполнить этап огурца до/после определенной функции
Я хочу указать определенные шаги настройки и срыва для каждого конкретного файла функции. Я видел крючки, которые позволяют выполнять код перед каждым сценарием, и перехватывает код перед каждой функцией, но я хочу указать код для запуска один раз до и после всех сценариев для одной конкретной функции.
Возможно ли это?
Ответы
Ответ 1
Используете ли вы огурец-jvm? Я нашел статью, которая соответствует вашим требованиям.
http://zsoltfabok.com/blog/2012/09/cucumber-jvm-hooks/
В принципе, не используйте JUnit @BeforeClass и @AfterClass для этого, так как они не знают теги крюка огурца. Вы бы хотели, чтобы методы Init и Teardown выполнялись для определенных сценариев только правильно?
Ответ 2
Это, если вы используете junit для запуска тестов. Мы используем аннотации для создания класса unit test и отдельного класса шагов. Стандартные элементы @Before входят в класс шагов, но аннотацию @BeforeClass можно использовать в основном классе unit test:
@RunWith(Cucumber.class)
@Cucumber.Options(format = {"json", "<the report file"},
features = {"<the feature file>"},
strict = false,
glue = {"<package with steps classes"})
public class SomeTestIT {
@BeforeClass
public static void setUp(){
...
}
@AfterClass
public static void tearDown(){
...
}
}
Ответ 3
Попробуйте следующее:
В файле свойств:
@tagToIdentifyThatBeginAfterShouldRunForThisFeatureOnly
Feature : My new feature ....
В Stepdefinitions.java:
@Before("@tagToIdentifyThatBeginAfterShouldRunForThisFeatureOnly")
public void testStart() throws Throwable {
}
@After("@tagToIdentifyThatBeginAfterShouldRunForThisFeatureOnly")
public void testStart() throws Throwable {
}
Ответ 4
вы можете использовать
somefeaturefile.feature
Фон: Учитывая, что у меня есть яблоко
Сценарий: есть яблоко
Когда я ем яблоко
Тогда мой живот должен расти
здесь действие, написанное в фоновом режиме, будет выполняться перед каждым сценарием.