通过-Dcucumber.options传递多个标签(或/和)不会触发我的测试

时间:2019-03-02 09:25:42

标签: cucumber cucumber-jvm cucumber-java

我有一堆在模块“ TEST”下标记@ABC和@DEF的方案。

我可以使用以下命令(较旧的方式,很快就会弃用)对带有多个标记的测试进行测试

mvn clean test -pl TEST -Dcucumber.options="--tags @ABC,@DEF"

但不是

mvn clean test -pl TEST -Dcucumber.options="--tags '@ABC or @DEF'"

有什么主意吗? 我也改变了报价,但仍然无法正常工作,没有触发任何测试。

我尝试过的

-Dcucumber.options='--tags @ABC or @DEF'
-Dcucumber.options='--tags "@ABC or @DEF"'
-Dcucumber.options="--tags '@ABC or @DEF'"
-Dcucumber.options="--tags '(@ABC or @DEF)'"

非常感谢!

2 个答案:

答案 0 :(得分:0)

我认为您不需要单引号。您可以尝试mvn clean test -pl TEST -Dcucumber.options="--tags @ABC or @DEF"吗?

注意,有关更多信息,请参见Cucumber documentation on Tag expressions

答案 1 :(得分:0)

在我的环境(W10和CentOS 7)中,列出的第3种方式对我有用。

-Dcucumber.options =“-标记'@ABC或@DEF'”

我的测试是我们应用程序项目中自己的模块,因此我执行一个Java类来运行东西(与maven测试)。例如在CentOS上,我有一个脚本,其行

java -ea -Dcucumber.options =“ $ {cucumberTags}” gressionTests.AutomatedTest >> $ logFile.log

我使用脚本启动了测试,将“ cucumberTags”字符串组合起来并在第一个和最后一个标记之后得到一个单引号可能有点棘手,但这绝对是我的工作格式。 / p>

-丹尼斯