从命令行黄瓜`--tags`选项?

Ran*_*h's 5 cucumber cucumber-jvm cucumber-junit cucumber-java

我想做的是从命令行传递黄瓜选项到执行带有标记名@extecuteThese的场景,但我也想排除标记名为@WIP的场景,所以我到目前为止做的是

-Dcucumber.options='--tags @executeThese --tags ~@WIP' 
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它没有考虑〜@ WIP标签选项

任何帮助,非常感谢!!

Mo *_* H. 11

让我们假装这是你的功能:

Feature ABC

@executeThese
Scenario: abc1

@WIP @executeThese
Scenario: abc2
Run Code Online (Sandbox Code Playgroud)

您目前正在做的事情等同于AND操作.所以只会abc2运行

为了运行这两个,你需要做一个OR相当于这次运行的操作:

cucumber -t @WIP,@executeThese 这将运行abc1abc2

如果你想执行所有@executeThese但不是@WIP你需要这样做:

cucumber -t @executeThese -t ~@WIP

这将运行abc1

  • 您可以从命令行调用 Cucumber 吗?不公平!我不能。不过,我可以通过 Maven 调用 Cucumber: mvn test -Dcucumber.options="–-tags @MyTaggedScenarioName" 顺便说一句,感谢 -t 提示。我可以通过执行以下操作来查看手册页: mvn test -Dcucumber.options="–help" (2认同)

小智 6

使用这个命令

mvn test -Dcucumber.filter.tags="@executeThese and not @WIP"
Run Code Online (Sandbox Code Playgroud)

这将执行@executeThese标记,忽略@WIP。您可以在这里找到 Cucumber 命令行的几种变体