Подтвердить что ты не робот

Выполнить этап огурца до/после определенной функции

Я хочу указать определенные шаги настройки и срыва для каждого конкретного файла функции. Я видел крючки, которые позволяют выполнять код перед каждым сценарием, и перехватывает код перед каждой функцией, но я хочу указать код для запуска один раз до и после всех сценариев для одной конкретной функции.

Возможно ли это?

4b9b3361

Ответ 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

Фон: Учитывая, что у меня есть яблоко

Сценарий: есть яблоко  Когда я ем яблоко  Тогда мой живот должен расти

здесь действие, написанное в фоновом режиме, будет выполняться перед каждым сценарием.