Spring Boot + JUnit5 + Allure 测试报告完整指南

在使用 Spring Boot 和 JUnit5 做自动化测试时,Allure 是非常方便的可视化测试报告工具。但很多同学会遇到一个问题:生成了报告却打开显示 404 或空白 。本文将手把手教你 从运行测试到正确查看 Allure 报告


1️⃣ 运行测试生成结果

首先,Allure 依赖测试结果生成报告,所以必须先运行测试:

运行全部测试

bash 复制代码
mvn clean test

运行特定测试类

bash 复制代码
mvn test -Dtest=ArticleControllerTest

运行特定测试方法

bash 复制代码
mvn test -Dtest=ArticleControllerTest#testListArticle_Success

测试运行完成后,会在项目目录下生成 target/allure-results,包含 .json.xml.txt 等测试结果文件。


2️⃣ 生成 Allure 报告

生成 HTML 报告的命令如下:

bash 复制代码
mvn allure:report

生成后,你会在:

复制代码
target/allure-report/

看到完整的报告目录,包括:

复制代码
index.html
css/
js/
plugins/
fonts/

⚠️ 注意:

  • target/allure-results原始测试数据,不是 HTML 报告
  • 必须用 target/allure-report/index.html 查看,才是完整 HTML 页面

3️⃣ 为什么直接打开 index.html 会报 404?

很多同学习惯直接在浏览器里双击 index.html 打开,但会遇到 404 或空白问题,原因如下:

① 静态资源路径问题

  • index.html 引用了相对路径的 JS/CSS 文件,例如 ./js/allure.js
  • 直接用 file:// 协议打开时,浏览器会阻止这些本地 JS/CSS 加载

② 浏览器安全限制(CORS)

  • Chrome、Edge 等现代浏览器对本地文件加载有严格限制
  • 结果就是页面无法渲染,显示空白或 404

4️⃣ 正确查看 Allure 报告的方法

方法一:Allure CLI 动态查看(推荐)

bash 复制代码
allure serve target/allure-results
  • 会启动本地临时 HTTP 服务
  • 自动打开浏览器查看报告
  • 每次生成新结果都可直接刷新查看

方法二:Maven + Allure 打开报告

bash 复制代码
mvn allure:report
allure open target/allure-report
  • 也会启动本地服务打开报告
  • 避免直接用 file:// 打开

方法三(不推荐):修改浏览器安全策略

  • 使用 --allow-file-access-from-files 启动 Chrome
  • 可以直接打开文件,但不安全且麻烦

5️⃣ 常用 Allure + Maven 测试命令

功能 命令
运行所有测试 mvn clean test
跳过测试编译只运行测试 mvn surefire:test
显示详细测试输出 mvn test -Dmaven.test.failure.ignore=true
生成覆盖率报告(Jacoco) mvn test jacoco:report
生成 Allure 报告 mvn allure:report
动态查看报告 allure serve target/allure-results

6️⃣ 流程总结

完整流程如下:

text 复制代码
1️⃣ 运行测试 → target/allure-results 生成测试结果
2️⃣ mvn allure:report → target/allure-report 生成 HTML 报告
3️⃣ 用 Allure CLI 或 allure open 启动本地服务查看

⚡ 核心要点:不要直接用浏览器 file:// 打开 index.html,一定要通过 HTTP 协议加载资源,否则会 404。

相关推荐
葡萄城技术团队10 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
Super 含10 小时前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?
java·服务器·数据库
counting money10 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
用户479492835691510 小时前
字节Agent开发技术分享—旧会话越聊越笨,新会话又得重讲?我给 Matt Pocock Skill 炼了套《影分身之术》:本体想清楚,分身写代码,完事回来汇报
面试·agent
程序员小八77711 小时前
上海百度B端java后端日常实习一面
java·开发语言
北斗落凡尘11 小时前
LangGraph 入门实战(11)--输出模式
后端·python·langchain
demo007x12 小时前
Hermes-Agent 技术架构
前端·后端·agent
mldong12 小时前
零依赖的秘密:8 大 SPI 设计
java·架构