Ang*_*sak 3 command-line cucumber gradle
我希望通过命令行使用特定的功能标签为 gradle 项目执行黄瓜测试。
我正在使用的命令:gradle test -DCucumber.options="-tags @tagname"
命令确实执行提到的标签。我已经尝试使用 gradle test-DCucumber.options="-tags @tagname"并且也gradle test没有发现这两个命令有任何区别。
gradle test -DCucumber.options="-tags @tagname" :执行这个文件中提到的 Runtest.java 和标签,不管我通过命令行传递什么特征标签,例如:tagename。
运行测试
@RunWith(Cucumber.class)
@CucumberOptions(features = "src\\test\\resources\\featurefiles", monochrome = true, plugin = {
"com.eis.listeners.ExtentCucumberFormatter:" }, glue = {
"com.adminconsole.stepdefs" },tags= {"@adminconsolelogin,@devicemanager,@certificatemanagement"} ,format = { "json:JsonReports/AdminConsole.json" })
Run Code Online (Sandbox Code Playgroud)
所以这里我在 Runtest.java 中提到了三个标签。现在,我不想运行所有标签,而是想通过命令行运行特定标签。指挥部:gradle test -DCucumber.options="-tags @adminconsolelogin"但是,-DCucumber.options="-tags @adminconsolelogin"部分不起作用。
我正在寻找一种解决方案,我们可以在其中运行特定标签,而不管 Runtest.java 中提到了什么标签。更精确地通过命令行动态传递标签。
但是,-DCucumber.options="-tags @tagname"不能通过命令行工作。如果以下命令有误,任何人都可以为我提供正确的命令或策略或代码,我将不胜感激:gradle test -DCucumber.options="-tags @tagname"请纠正我。
小智 8
更新:对于 Cucumber 6,您需要提供以下声明:
test {
systemProperty "cucumber.filter.tags", System.getProperty("cucumber.filter.tags")
}
Run Code Online (Sandbox Code Playgroud)
您必须在 gradle JVM 和分叉的 JVM 之间桥接系统属性,才能使测试正常工作。从问题#1346:
test {
systemProperty "cucumber.options", System.getProperty("cucumber.options")
}
Run Code Online (Sandbox Code Playgroud)
将其添加到您的 build.gradle 中,然后您可以在命令行上执行此操作:
gradle test -Dcucumber.options="-tags @tagname"
| 归档时间: |
|
| 查看次数: |
7189 次 |
| 最近记录: |