作为使用cuke4duke和maven2的测试开发人员,我希望能够选择在cmd行上按标签选择测试。似乎由于maven没有条件,“可选”部分需要黑客攻击。
黄瓜arg可能是例如“--tags @firstTag”。实现此目的的一种方法是使用pom.xml
<cucumberArgs>
...
<cucumberArg>${tagargs}</cucumberArg>
</cucumberArgs>
然后cmd行有
mvn integration-test -Dtagargs="--tags @firstTag"
当我想定义标签时这很好用,但是当我不包含-D参数(即不通过标签选择)时,我得到了
[INFO] No such file or directory - null (Errno::ENOENT)
解决方法是在属性中定义$ {tagargs}作为我已经使用的黄瓜arg的副本:
<properties>
<tagargs>--strict</tagargs>
</properties>
所以,最糟糕的情况是我得到“--strict --strict”。这样的黑客是最好的专家吗?
答案 0 :(得分:0)
我设法使用忽略的negative tag来解决此问题。注意我正在使用 cuke4duke 0.4.4 。
定义属性的默认值,该属性运行 NOT 标记为“ignore”的所有方案(随意调用它)。
<properties>
<tagargs>--tags=~@ignore</tagargs>
</properties>
当您未在命令行传递特定值时,Maven将使用此属性。因此,所有场景都将匹配并执行。