柑橘黄瓜:我可以运行单一的黄瓜情景吗?

时间:2018-03-13 13:31:12

标签: intellij-idea bdd cucumber-junit citrus-framework

我有一个Cucumber功能文件,其中包含一系列方案来执行Citrus集成测试( Citrus-Cucumber集成)。我可以在IntelliJ中或通过Maven一次性运行所有场景。

工作完美,但可以在IntelliJ或Maven中运行单个场景吗?

在IntelliJ中,我找到了一个Cucumber插件,它给了我这个选项,但是在用依赖技巧修复了很多NoClassDefFound错误之后,它失败了,因为它不尊重Citrus项目文件,例如citrus-application.properties

1 个答案:

答案 0 :(得分:1)

回答我自己:是的,我可以。

根据Cucumber docs,它使用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 {
}

每次编辑测试类元数据并不是非常方便,但它确实有效。