SuperAPI AI 工具集

generating-test-reports

测试与质量

查看项目

更新于 10-15 23:26

技能介绍

用途:将原始测试运行器输出(JUnit XML、Jest --json、pytest --junitxml、TAP)与覆盖率数据(Istanbul coverage-summary.json、lcov.info、coverage.xml)转换为结构化、可读的测试报告,适用于需要专门测试报告的场景。

主要能力:解析测试结果文件,提取总数、通过、失败、跳过、错误数,各套件与单条测试耗时,失败信息与堆栈;解析覆盖率数据,提取行、分支、函数、语句覆盖率,按文件细分并标出低于阈值的文件与未覆盖行区间;计算聚合指标,包括通过率、总耗时、平均耗时、最慢 10 条测试、与上一提交的覆盖率差值;生成 Markdown 报告(摘要、失败、覆盖率、性能分区),可选生成带可排序表格和覆盖率热力图的 HTML 报告;输出 CI 兼容内容(GitHub Actions 作业摘要、GitLab 报告产物或 Slack webhook 载荷)。

使用方式:用 Glob 模式(如 /junit.xml、/test-results.json、**/coverage/lcov.info)定位结果文件,解析后生成 test-report.md 与可选 test-report.html。GitHub Actions 集成示例:cat test-report.md >> "$GITHUB_STEP_SUMMARY"。

前提条件:测试结果需为可解析格式,需覆盖率数据文件,需 Node.js 或 Python 运行生成脚本,趋势分析需可访问 Git 历史。

限制与错误处理:找不到结果文件时检查 --outputFile 或 --junitxml 参数与输出目录;JUnit XML 格式错误时用 xmllint 校验并重跑;缺少覆盖率数据时在测试命令加 --coverage;无历史报告则先建立基线;报告超出 GitHub 评论上限时截断至前 20 条失败并链接完整产物。具体安装命令与价格暂未提供。