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

Passing multiple tags (or/and) via -Dcucumber.options does not trigger my test

我在模块 '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)'"

非常感谢!

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

请注意,有关详细信息,请参阅 Cucumber documentation on Tag expressions

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

-Dcucumber.options="--标签'@ABC 或@DEF'"

我的测试在我们的应用程序项目中是它们自己的模块,所以我执行了 java class 到 运行 的东西(相对于 Maven 测试)。例如在 CentOS 上,我有一个脚本

java -ea -Dcucumber.options="${cucumberTags}" regressionTests.AutomatedTest >> $logFile.log

我使用脚本开始测试,构建 "cucumberTags" 字符串并在第一个和最后一个标记之后获取文字单引号可能有点棘手,但这绝对是我的工作格式。

-丹尼斯