如何将terratest测试结果生成HTML/PDF等格式的测试报告文件
Terratest 生成带用例状态的HTML/PDF测试报告方法
基础思路
Terratest基于Go测试框架实现,你可以直接复用Go生态的测试报告转换工具,完整保留所有用例的通过/失败状态、运行日志、耗时等信息,无需额外修改测试代码。
生成HTML报告
方案1:使用gotestsum(推荐)
gotestsum是Go生态常用的测试增强工具,支持直接导出通用的JUnit格式报告:
- 安装工具:
go install gotest.tools/gotestsum@latest - 运行测试并导出JUnit XML报告:
gotestsum --junitfile terratest-junit.xml -- -v ./... - 转换为HTML报告:
npx xunit-viewer -r terratest-junit.xml -o terratest-report.html
生成的HTML报告支持分类查看通过、失败、跳过的用例,也能展开查看单条用例的完整运行日志。
方案2:基于Go test原生JSON输出转换
如果你不想安装额外的Go依赖,也可以用原生JSON输出转换:
- 运行测试并导出结构化JSON结果:
go test -v -json ./... > terratest-results.json - 安装转换工具:
go install github.com/vakenbolt/go-test-report@latest - 生成HTML报告:
go-test-report -i terratest-results.json -o terratest-report.html
导出为PDF格式
你可以用两种方式快速导出PDF:
- 可视化操作:用浏览器打开生成好的HTML报告,按下打印快捷键(Windows/Linux按
Ctrl+P,Mac按Cmd+P),目标选择「保存为PDF」即可,导出效果和HTML展示完全一致。 - 命令行批量生成:安装wkhtmltopdf工具后执行命令:
wkhtmltopdf terratest-report.html terratest-report.pdf
上述所有方案生成的报告内容和
-v参数输出的控制台日志完全对齐,不会遗漏任何用例的状态和运行细节。
内容的提问来源于stack exchange,提问作者karikevinod
相关产品推荐
相关产品推荐

