使用标签 ~@tag_name
排除具有特定标记的方案
cucumber --tags ~@tag_name
注意我使用了~
符号.
这里需要注意的一点是,如果你的@ wip-tagged场景通过,Cucumber将以状态1退出(这提醒他们,自从它们通过后它们不再正在进行中).
@billing Feature: Verify billing @important Scenario: Missing product description Scenario: Several products
cucumber --tags @billing # Runs both scenarios cucumber --tags @important # Runs the first scenario cucumber --tags ~@important # Runs the second scenario (Scenarios without @important)
官方文件:https://github.com/cucumber/cucumber/wiki/Tags
使用标签 ~@tag_name
排除具有特定标记的方案
cucumber --tags ~@tag_name
注意我使用了~
符号.
这里需要注意的一点是,如果你的@ wip-tagged场景通过,Cucumber将以状态1退出(这提醒他们,自从它们通过后它们不再正在进行中).
@billing Feature: Verify billing @important Scenario: Missing product description Scenario: Several products
cucumber --tags @billing # Runs both scenarios cucumber --tags @important # Runs the first scenario cucumber --tags ~@important # Runs the second scenario (Scenarios without @important)
官方文件:https://github.com/cucumber/cucumber/wiki/Tags
根据Cucumber.io,有两种样式可以定义标记表达式.对于您的特定情况,要排除标有@ignore的步骤或功能,这两种样式将转换为:
旧款式:cucumber --tags ~@ignore
新风格:cucumber --tags "not @ignore"
.
令我惊讶的是,使用在Node.js v6.9.2上运行的相同的cucumber-js v1.3.1,我发现Windows版本只接受新样式,而Linux版本只接受旧样式.根据您的设置,您可能想要同时尝试两者,看看您是否成功了.
*.特征
@skip_scenario Scenario: Hey i am a scenario Given blah blah And blah blah blah
CucumberHooks.java
package CucumberHooks; import cucumber.api.Scenario; import cucumber.api.java.Before; public class CucumberHooks { @Before("@skip_scenario") public void skip_scenario(Scenario scenario){ System.out.println("SKIP SCENARIO: " + scenario.getName()); Assume.assumeTrue(false); } }