Gradle 如果另一个测试任务失败,是否执行梯度测试任务?
我使用的是TestNG和Gradle,我试图实现的是,如果运行测试的任务失败,那么运行另一个同样是类型测试的任务,它实际发送测试报告。如果所有测试都通过,不要做任何事情,我知道finalizedBy,但这会以任何方式发送测试报告 我试过这样的方法,但没有成功Gradle 如果另一个测试任务失败,是否执行梯度测试任务?,gradle,testng,build.gradle,Gradle,Testng,Build.gradle,我使用的是TestNG和Gradle,我试图实现的是,如果运行测试的任务失败,那么运行另一个同样是类型测试的任务,它实际发送测试报告。如果所有测试都通过,不要做任何事情,我知道finalizedBy,但这会以任何方式发送测试报告 我试过这样的方法,但没有成功 task uiTest(type: Test) { useTestNG() { environment "DOMAIN", "${DOMAIN}" useDefaultListeners = true
task uiTest(type: Test) {
useTestNG() {
environment "DOMAIN", "${DOMAIN}"
useDefaultListeners = true
suites "src/test/resources/ui-tests/ThemeA/chrome67.xml"
}
reports {
html {
enabled true
}
reports.html.destination = "build/reports/TestReports/uiTestThemeA"
}
testLogging {
showStandardStreams = true
exceptionFormat "full"
events = ["started", "passed", "skipped", "failed"] //, "standard_out", "standard_error"]
showExceptions = true
showStackTraces = true
}
}
task testing(dependsOn: uiTest, type: Test) {
boolean state = uiTestThemeA.state.executed
if(!state) {
println name
useTestNG() {
suites "src/test/resources/ui-tests/sendReport.xml"
}
}
}
如果我理解正确,那么下面的内容应该可以满足您的需要。将
测试
任务替换为以下任务,并将uiTest
任务配置为由测试
任务完成:
task testing(type: Test) {
onlyIf { uiTest.state.failure }
useTestNG() {
suites "src/test/resources/ui-tests/sendReport.xml"
}
}
uiTest {
finalizedBy testing
}
一些注意事项:
语句实现了您想要的魔力onlyf
- 这假设您执行
uiTest