Цитрусовый огурец: могу ли я запустить один сценарий огурца?
У меня есть файл функций Cucumber с кучей сценариев для выполнения интеграционных тестов Citrus (интеграция Citrus-Cucumber). Я могу запустить все сценарии одновременно в IntelliJ или через Maven.
Прекрасно работает, но возможно ли запустить один сценарий в IntelliJ или через Maven?
В IntelliJ я нашел плагин Cucumber, который дает мне эту возможность, но после исправления NoClassDefFound
ошибки с уловками зависимости, это терпит неудачу, потому что это не уважает файлы проекта Citrus, такие как citrus-application.properties
,
1 ответ
Ответьте себе: да, я могу.
Согласно документации Cucumber, он использует tags
(что удивительно) помечать сценарии. Теги начинаются с @
Символ и один можно установить любое количество тегов на объект или сценарий.
Пример:
@Test123
@Important
Scenario: My awesome Scenario
Given ...
When ...
Then ...
@Test456
Scenario: My other Scenario
Given ...
When ...
Then ...
Имея эти теги, я могу "выбирать" сценарии для выполнения на основе тегов. Например, чтобы выполнить все важные сценарии, я использую тег @Important
,
cucumber --tags @Important
Поскольку я выполняю свои тесты через класс Citrus, я должен передать теги для выполнения в CucumberOptions
моего тестового класса.
@RunWith(Cucumber.class)
@CucumberOptions(
strict = true,
glue = { "com.consol.citrus.cucumber.step.runner.core" },
plugin = { "com.consol.citrus.cucumber.CitrusReporter" },
tags = { "@Important" }
)
public class RunCucumberTests {
}
Редактировать метаданные тестового класса не всегда удобно, но это работает.