我们可以通过在命令行中包含以下内容来选择多个场景:-Dcucumber.options="--tags @S1,@S2,@S6"
如果我想排除@S6,我可以使用: -Dcucumber.options="--tags ~@S6"
但如果我想包含 @S1、@S2 并排除 @S6,所有标签都会被忽略: -Dcucumber.options="--tags @S1,@S2,~@S6"
如果我尝试使用以下选项加倍,所有标签也会被忽略: -Dcucumber.options="--tags @S1,@S2" -Dcucumber.options="--tags ~@S6"
是否有一种命令行方式可以在一个命令行中包含和排除?
我想这样做的原因是运行所有类型的测试,但排除使用某些可能暂时关闭的外部系统的测试。
编辑:事实证明我并没有完全意识到黄瓜世界中 AND 和 OR 之间的区别。这个答案和这篇文章是一个很好的参考,寻找“逻辑或”和“逻辑与”:
所以运行S1 ORS2 AND NOTS3
mvn test -Dkarate.options="--tags @S1,@S2 --tags ~@S3"
Run Code Online (Sandbox Code Playgroud)
使用 Java(或Runner)API,只需使用逗号表示 OR,使用分隔字符串表示 AND:
Results results = Runner.path("classpath:com/myco/some.feature")
.tags("@S1,@S2", "~@S3")
.parallel(5);
Run Code Online (Sandbox Code Playgroud)
对于真正高级的案例,另请参阅:https ://stackoverflow.com/a/67224240/143475
| 归档时间: |
|
| 查看次数: |
7180 次 |
| 最近记录: |