我有一个 Gradle 构建,可以在 Jenkins 上运行一套 Java Selenium 测试。由于计时可能会导致 Selenium 测试失败,因此我会重新运行一两次失败。
为此,我使用 Gradle 的测试过滤机制,例如:
test {
[...]
filter {
includeTestsMatching "*AccountTest.canWithdrawMoney*"
}
[...]
}
但这意味着我必须使用过滤器进行 Git 提交。
理论上我也可以使用这样的命令行过滤器:
gradle test --tests "*AccountTest.canWithdrawMoney*"
问题是我不打电话gradle test来运行测试。我调用我自己的任务gradle testLocal或gradle testServer,具体取决于我是在本地 PC 还是 Jenkins 服务器上运行测试,以及相应的任务调用test。
(Jenkins 服务器必须执行额外的操作,例如下载并启动我们的产品;我已经在本地运行它了。)
如果我尝试...
gradle testLocal --tests "*AccountTest.canWithdrawMoney*"
...然后失败了...
未知的命令行选项“--tests”。
...大概是因为testLocal和testServer不是(类型:测试)任务(我也不希望它们成为)。
我很高兴让测试过滤器成为 Jenkins 构建参数,因为构建已经参数化,但我无法找到将过滤器获取到 Gradle 的方法。
那么:鉴于此设置,是否有一种更简单的方法可以将测试过滤器传递到 Gradle,而不需要我将过滤器添加为 Git 提交?
qq_花开花谢_0
慕慕森
相关分类