gpt4 book ai didi

gradle - 如何使用 Gradle 重新运行失败的 TestNG 测试

转载 作者:行者123 更新时间:2023-12-02 12:32:25 24 4
gpt4 key购买 nike

我知道 TestNG 会生成 testng-failed.xml,其中包含有关失败测试的信息。我想在 Gradle 中使用它来创建新任务来运行失败的测试:

task secondTry(type: Test) {
onlyIf {
file("build/reports/tests/test/testng-failed.xml").exists()
}
println file("build/reports/tests/test/testng-failed.xml").exists()

testClassesDir = sourceSets.test.output.classesDir
classpath = sourceSets.test.runtimeClasspath

useTestNG() {
suites("build/reports/tests/test/testng-failed.xml")
}
}

运行任务第二次后,我得到了 true for println file("build/reports/tests/test/testng-failed.xml").exists(),但是失败的测试不会运行,任务会被跳过:secondTry SKIPPED

有没有人遇到过这种情况,如何让测试运行?

更新:我尝试稍微修改一下任务,所以只需运行 testng-failed.xml:

task secondTry(type: Test) {
useTestNG() {
useDefaultListeners = true
reports.html.enabled = false
options.suites("build/reports/tests/test/testng-failed.xml")
}
}

结果,构建成功执行,包括 secondTry 任务,但失败的测试仍然没有运行。

最佳答案

这可以通过 TestNG 的 RetryAnalyzer 功能来实现。通过一些小调整,我们可以告诉 TestNG 测试应该重试多少次直到通过,以及什么样的异常/错误会触发失败的测试方法的重试。

关于gradle - 如何使用 Gradle 重新运行失败的 TestNG 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701300/

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