如何在Gradle所有测试完成后输出测试汇总信息?
可以实现,以下是两种适配你需求的方案
方案一:自定义任务生成指定格式汇总
借助Gradle的Test任务结果API,我们可以创建一个依赖test任务的自定义任务,在所有测试完成后读取统计数据并输出你要的格式。这种方式完全自定义,精准匹配需求,且天然支持--parallel参数。
修改你的build.gradle配置:
test { useJUnitPlatform() finalizedBy jacocoTestReport, testSummaryReport } testlogger { theme 'mocha' } task testSummaryReport { dependsOn test doLast { def result = test.testResult def passed = result.successfulTestCount def failed = result.failedTestCount def skipped = result.skippedTestCount println '\n--------------' println ' TEST RESULTS' println '--------------' printf "PASSED : %5d%n", passed printf "FAILED : %5d%n", failed printf "SKIPPED : %5d%n", skipped } }
执行./gradlew test(或带--parallel参数)时,所有测试的详细输出结束后,会自动追加你需要的汇总内容。
方案二:调整Test Logger插件配置
如果你偏好利用现有插件能力,可以调整Test Logger的配置,让它在测试结束后输出贴近需求的汇总,同样支持并行测试。
修改配置如下:
test { useJUnitPlatform() finalizedBy jacocoTestReport } testlogger { theme 'mocha' showSummary 'always' summaryStyle { borderTop = '--------------' borderBottom = '--------------' header = ' TEST RESULTS' showPassed = true showFailed = true showSkipped = true format = "%-8s: %5d" } }
这种方式无需额外自定义任务,通过插件配置即可实现类似效果。
内容的提问来源于stack exchange,提问作者Matthew Layton
相关产品推荐
相关产品推荐

