首页 > 后端开发 > Golang > 如何实现隔离包的Go代码准确覆盖?

如何实现隔离包的Go代码准确覆盖?

Linda Hamilton
发布: 2024-11-27 06:09:09
原创
596 人浏览过

How to Achieve Accurate Go Code Coverage for Isolated Packages?

如何测量 Go 中独立文件夹的代码覆盖率

在 Go 中,测量驻留在单独文件夹中的包的代码覆盖率可能具有挑战性。考虑以下项目结构:

stuff/stuff.go -> package: stuff
test/stuff/stuff_test.go -> package: test
登录后复制

即使 stuff_test.go 执行 stuff.go 中的代码,覆盖率报告也可能显示:

coverage: 0.0% of statements
登录后复制

这是因为 go test -cover by默认仅分析正在测试的包,而不分析其依赖项。

要解决此问题,您可以使用 -coverpkg 选项指定应考虑哪些包用于覆盖率分析。例如,以下命令将包含当前目录下的所有包:

go test ./test/... -coverprofile=cover.out -coverpkg ./...
登录后复制

测试执行完成后,您可以使用以下命令生成覆盖率报告:

go tool cover -html=cover.out
登录后复制

这将提供项目代码覆盖率的详细报告,包括单独文件夹中的包的覆盖率。

以上是如何实现隔离包的Go代码准确覆盖?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板