Gradle Java项目怎么生成HTML测试报告

云辰大大_5911

云辰大大_5911

2026-11-06

621人浏览

原创

Gradle默认不生成HTML测试报告,需启用test.reports.html.enabled=true;多模块项目需用TestReport任务聚合子项目XML结果生成统一报告,但不包含日志详情。

gradle java项目怎么生成html测试报告

test 任务默认只生成 XML 格式的结果(在 build/test-results/test/ 下),不带 HTML 报告。要生成可读的 HTML 测试报告,得显式启用或配置 TestReport 任务。


test 任务的 reports.html.enabled = true 是最简方式

Gradle 的 test 任务自带 HTML 报告开关,但默认是关闭的。只要项目已应用 java 插件,就能直接启用:

  • 在 build.gradle 中添加:

    test {
      reports.html.enabled = true
    }
  • 运行 ./gradlew test 后,报告会生成在 build/reports/tests/test/index.html

  • 打开该文件即可查看失败用例、执行时间、包结构等基础信息

注意点:

  • 这个报告只汇总当前项目的 test 任务结果,不跨模块
  • 如果项目有多个子项目,每个子项目都会生成独立报告,不会自动合并
  • 报告内容基于 TEST-*.xml 文件解析,所以必须确保测试成功运行(哪怕有失败用例,XML 仍会生成;但若 JVM 崩溃或测试未启动,则无数据)

多模块项目需用 TestReport 类型手动聚合

子项目各自跑 test,HTML 报告分散,不利于整体审视。这时要用 TestReport 任务把所有子项目的 test 结果合并成一份:

使用华数设计生成高保真HTML原型、演示文稿、动画和设计评审
使用华数设计生成高保真HTML原型、演示文稿、动画和设计评审

使用经过文档化的设计技能,从真实的品牌或项目背景中生成HTML原生原型、幻灯片、动态演示、可视化图表和评审流程。

下载
  • 在根项目 build.gradle 中添加:

    task testReport(type: TestReport) {
      destinationDir = file("$buildDir/reports/allTests")
      reportOn subprojects*.test
    }
  • 运行 ./gradlew testReport,结果输出到 build/reports/allTests/index.html

关键细节:

  • reportOn 接收的是 Task 实例列表,不是字符串名,所以写 subprojects*.test(星号展开语法)
  • 被聚合的子项目必须已启用 test 任务,且其 test.reports.xml.enabled 为 true(默认就是)
  • 若某个子项目禁用了 XML 报告(比如设了 test.reports.xml.enabled = false),它就不会出现在聚合报告中

和 JaCoCo 覆盖率报告别混了

HTML 测试报告(展示“哪些测试通过/失败”)和 JaCoCo 的 HTML 覆盖率报告(展示“哪些代码行被执行过”)是两套东西:

  • 前者由 Test 或 TestReport 任务生成,依赖 TEST-*.xml
  • 后者由 jacocoTestReport 任务生成,依赖 jacoco.exec 文件

常见误操作:

  • 以为开了 jacocoTestReport 就等于有了测试执行报告 —— 不是,它不显示用例状态
  • 在 testReport 里误传 jacocoTestReport 任务(类型不匹配,会报错)
  • 把 build/reports/tests/test/ 和 build/reports/jacoco/test/ 路径搞混

真正容易被忽略的是:HTML 测试报告不包含日志输出或堆栈详情。点击失败用例只能看到简短消息,完整异常仍得翻 build/test-results/test/TEST-*.xml 或控制台输出。如果需要带详细日志的 HTML 报告,得换 TestNG + testng-xslt 这类方案,Gradle 原生不支持。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.15

12037

6

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

2023.07.05

9122

9

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

2023.07.31

7812

8

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.01

1264

3

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.02

1028

3

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

1516

5

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

3149

5

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

2023.08.03

20391

3

配置java环境变量
配置java环境变量

配置Java环境变量是为了让操作系统能够识别和使用Java的相关命令和功能。本专题为大家提供配置java环境变量相关文章,帮助大家解决问题。

2023.08.03

1375

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Gradle 9 主版本升级指南
Gradle 9 主版本升级指南

共0课时 | 0人学习

Gradle 安全最佳实践
Gradle 安全最佳实践

共0课时 | 0人学习

Gradle 依赖校验手册
Gradle 依赖校验手册

共0课时 | 0人学习