Gradle 1.4 有新的测试报告聚合任务: http://www.gradle.org/docs/current/release-notes#stand-alone-test-report-task
task testReport(type: TestReport) {
destinationDir = file("$buildDir/reports/all-tests")
reportOn subprojects*.test
}
有没有办法让这个任务即使在构建失败时也能运行?目前如果我这样做:
taskReport.dependsOn test
build.dependsOn taskReport
仅当构建成功时才执行。
最佳答案
首先是好消息:即将推出的 Gradle 任务模型增强功能(目前计划在 Gradle 1.6 中使用)将解决此问题以及类似的用例。
与此同时,可能性是有限的。一种选择是使用 --continue
运行,尽管这也将继续执行其他任务。另一个可能的选择是注册 org.gradle.api.execution.TaskExecutionListener
(通过 gradle.project.addListener()
)并在 Test
任务失败后调用 testReport.generateReport()
。尽管强烈建议不要直接调用任务(并且通常不会产生预期的行为),但在这种特殊情况下,它可能会作为临时解决方法。
关于gradle - 构建失败时强制执行任务报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14694903/