Цитрусовый огурец: могу ли я запустить один сценарий огурца?

У меня есть файл функций 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 {
}

Редактировать метаданные тестового класса не всегда удобно, но это работает.

Другие вопросы по тегам