应通过四种方式生成单元测试报告:一、用testrunner集成自动生成html+json双格式报告;二、对接jacoco插件生成带源码高亮的覆盖率报告;三、调用rest api批量拉取历史结果合成趋势报告;四、使用cli工具离线生成markdown格式报告。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您已完成单元测试执行,但尚未生成结构化、可交付的单元测试报告,则可能是由于未触发报告聚合流程或测试框架未与WorkBuddy报告服务正确绑定。以下是解决此问题的步骤:
一、通过TestRunner集成自动捕获并生成标准单元测试报告
该方式依赖WorkBuddy内置的JUnit/TestNG适配器,在测试执行过程中实时采集用例状态、耗时、堆栈及覆盖率元数据,无需额外配置即可输出符合CI/CD审计要求的HTML+JSON双格式报告。
1、确保项目pom.xml或build.gradle中已引入WorkBuddy Test Agent依赖:com.workbuddy:test-agent:2.8.4。
2、在Maven命令中添加激活参数:mvn test -Dworkbuddy.report.enabled=true -Dworkbuddy.coverage.include=src/main/java/com/example/**。
3、执行完成后,系统自动生成report/unit-test-summary.html,内含通过率仪表盘、失败用例详情表及行覆盖率热力图。
4、点击HTML报告页右上角“导出PDF”按钮,PDF将保留所有交互式图表的静态快照,并嵌入本次构建的Git Commit ID与Jenkins Build Number。
二、对接JaCoCo插件生成带源码高亮的覆盖率报告
此方法适用于需向质量门禁(如SonarQube)提交精确行级覆盖率数据的场景,WorkBuddy通过统一代理层解析JaCoCo .exec文件,将其映射至模块源码路径并渲染可视化报告。
1、在项目根目录下执行:./gradlew build jacocoTestReport -Pworkbuddy.jacoco.export=true。
2、确认生成路径build/reports/jacoco/test/jacocoTestReport.xml存在且非空。
3、登录WorkBuddy“质量中心”→“覆盖率看板”,点击“导入JaCoCo报告”,选择上述XML文件。
4、系统自动匹配包路径,对低于65%的方法覆盖率字段标红,并在源码视图中高亮未覆盖的if分支与return语句。
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
三、调用REST API批量拉取历史测试结果并合成趋势报告
该方式面向质量保障团队,支持跨多个Git分支与构建版本聚合单元测试稳定性指标,用于识别“偶发失败”用例与持续退化模块。
1、访问WorkBuddy开发者门户,进入“API文档 > 测试服务 > 批量获取测试结果”章节,复制请求示例URL。
2、构造GET请求:https://api.workbuddy.com/v2/test-runs?branch=main&since=2026-04-01&status=FAILED,SKIPPED&limit=50。
3、在Header中添加认证头:Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...。
4、解析返回JSON中的test_cases数组,提取每个用例的failure_rate(近7次运行失败次数/7)、avg_duration_ms、flaky_score(基于时间波动性计算)三项核心字段。
四、使用CLI工具离线生成轻量级Markdown格式报告
该方法专为本地开发调试设计,无需连接WorkBuddy服务器,仅依赖本地测试日志文件即可生成便于PR评论与邮件分发的纯文本报告。
1、安装WorkBuddy CLI:curl -sL https://get.workbuddy.com/cli | bash。
2、在项目根目录执行:wb-cli report unit --log-dir ./target/surefire-reports --format md --output ./docs/unit-report.md。
3、检查生成的Markdown文件,确认包含“Summary”“Failed Tests”“Slowest 5 Tests”三个二级标题区块。
4、执行wb-cli report unit --diff main HEAD后,将自动标注本次提交新增的失败用例及性能劣化超过200ms的测试项。










