gpt4 book ai didi

java - 使用 System.getProperty() 获取 @CucumberOptions 标签属性

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:13 25 4
gpt4 key购买 nike

我在 Eclipse 中运行一个 maven 项目用于我的 Cucumber 测试。我的测试运行器类如下所示:

@RunWith(Cucumber.class)
@CucumberOptions(
tags = { "@Now" },
// tags = { "@Ready" },
// tags = { "@Draft" },
features = { "src/test/java/com/myCompany/FaultReporting/Features" },
glue = { "com.myCompany.myApp.StepDefinitions" }
)
public class RunnerTest {
}

我不想将标签硬编码到测试运行程序中,而是热衷于使用 .command 文件传递​​它们。 (即使用 System.getProperty("cucumber.tag")

但是,当我将这行代码添加到上面的测试运行程序时出现错误:

@RunWith(Cucumber.class)
@CucumberOptions(
tags = { System.getProperty("cucumber.tag") }
// tags = { "@Now" },
// tags = { "@Ready" },
// tags = { "@Draft" },
features = { "src/test/java/com/myCompany/FaultReporting/Features" },
glue = { "com.myCompany.myApp.StepDefinitions" }
)
public class RunnerTest {
}

我得到的错误是:“注释属性 CucumberOptions.tags 的值必须是常量表达式”。

所以它似乎只需要常量而不是参数化值。有人知道解决这个问题的巧妙方法吗?

最佳答案

您可以使用cucumber.options 环境变量在运行时指定标签

mvn -D"cucumber.options=--tags @Other,@Now" test

这将取代已包含在测试代码中的标签。

关于java - 使用 System.getProperty() 获取 @CucumberOptions 标签属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30594007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com