我们可以通过在命令行中包含以下内容来选择多个场景: -Dcucumber.options =" - 标签@ S1,@ S2,@ S6"
如果我想排除@ S6我可以用: -Dcucumber.options =" - 标签〜@ S6"
但是如果我想要包含@ S1,@ S2和排除@ S6,所有标签都会被忽略: -Dcucumber.options =" - 标签@ S1,@ S2,〜@ S6"
如果我尝试使用以下选项加倍选项,那么所有标签也会被忽略: -Dcucumber.options =" - 标签@ S1,@ S2" -Dcucumber.options =" - 标签〜@ S6"
是否有命令行方式在一个命令行中包含和排除?
我想这样做的原因是运行所有类型的测试,但排除使用可能暂时关闭的外部系统的测试。
答案 0 :(得分:0)
编辑:事实证明我并不完全了解黄瓜世界中AND和OR之间的区别。这个SO answer和this article是一个很好的参考,寻找“Logical OR”和“Logical AND”:
所以运行S1 OR
S2 AND NOT
S3
mvn test -Dcucumber.options="--tags @S1,@S2 --tags ~@S3"
和使用Java注释相同的事情:
@CucumberOptions(tags={"@S1,@S2", "~@S3"})