我希望通过命令行使用特定功能标签对gradle项目执行黄瓜测试。
我正在使用的命令:gradle test -DCucumber.options =“-tags @tagname” 命令确实执行提到的标签。 我已经尝试过使用gradle test -DCucumber.options =“-tags @tagname”和gradle test。我在两个命令中都没有发现任何差异。
gradle test -DCucumber.options =“-tags @tagname”:执行Runtest.java和此文件中提到的标签,无论我通过命令行传递了哪些功能标签,例如:tagename。
Runtest.java
@RunWith(Cucumber.class) @CucumberOptions(features =“ src \ test \ resources \ featurefiles”,单色= true,插件= { “ com.eis.listeners.ExtentCucumberFormatter:”},胶= { “ com.adminconsole.stepdefs”},tags = {“ @ adminconsolelogin,@ devicemanager,@ certificatemanagement”},format = {“ json:JsonReports / AdminConsole.json”})
所以在这里我提到了Runtest.java中的三个标签。 现在,我不想运行所有标签,而是想通过命令行运行特定的标签。 命令:gradle test -DCucumber.options =“-标签@adminconsolelogin”,但是-DCucumber.options =“-tags @adminconsolelogin”部分无效。
我正在寻找一种解决方案,无论Runtest.java中提到了什么标签,我们都可以运行特定的标签。更精确地通过命令行动态传递标签。
但是,-DCucumber.options =“-tags @tagname”无法通过命令行运行。 如果以下命令是错误的,任何人都可以为我提供正确的命令或策略或代码,请执行以下操作:gradle test -DCucumber.options =“-tags @tagname”,请纠正我。
答案 0 :(得分:0)
您必须在gradle JVM和派生的JVM之间架桥系统,才能进行测试。从问题#1346:
test { systemProperty "cucumber.options", System.getProperty("cucumber.options") }
将其添加到build.gradle中,然后可以在命令行上完成该操作:
gradle test -Dcucumber.options="-tags @tagname"
答案 1 :(得分:0)
您需要添加此
test {
systemProperty "cucumber.options", System.getProperty("cucumber.options")
}
CLI命令将
gradle test -Dcucumber.options="--tags @tagName"