使用go test -coverprofile生成覆盖率数据,通过go test -cover查看文本结果,用go tool cover -html生成可视化报告,支持函数粒度分析,便于CI集成和核心逻辑测试保障。

Go语言内置了测试覆盖率分析功能,你可以通过go test命令结合覆盖率标记来生成和查看测试覆盖率。
1. 生成测试覆盖率数据
在项目根目录下运行以下命令,生成覆盖率数据文件:
go test -coverprofile=coverage.out ./…
说明:
-coverprofile:指定输出的覆盖率数据文件名(这里是coverage.out) ./…:表示运行当前目录及所有子目录中的测试
如果只想测试某个包:
立即学习“go语言免费学习笔记(深入)”;
go test -coverprofile=coverage.out path/to/your/package
2. 查看文本格式覆盖率
可以直接在终端查看覆盖率百分比:
go test -cover ./…
这会输出每个包的覆盖率,例如:
大师兄智慧家政
58到家打造的AI智能营销工具
99 查看详情
PASS
coverage: 85.7% of statements
ok example.com/mypackage 0.012s
3. 生成HTML可视化报告
使用生成的coverage.out文件创建网页版报告:
go tool cover -html=coverage.out
这个命令会自动打开浏览器,展示代码中每一行是否被测试覆盖:
绿色:被覆盖的代码 红色:未被覆盖的代码 灰色:不可覆盖(如仅声明或注释)
4. 其他实用选项
你还可以按函数粒度查看覆盖率:
go test -covermode=count -coverprofile=coverage.out ./…
然后用以下命令分析:
go tool cover -func=coverage.out
它会列出每个函数的调用次数,适合做深度分析。
基本上就这些。Go的测试覆盖率工具链简洁高效,不需要额外安装插件,适合集成到CI流程中。建议定期检查关键模块的覆盖率,确保核心逻辑有足够测试保障。
以上就是Golang测试覆盖率如何查看的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1108815.html
微信扫一扫
支付宝扫一扫