首页 > 后端开发 > Golang > 当测试位于单独的包中时,如何获取包的准确覆盖率统计数据?

当测试位于单独的包中时,如何获取包的准确覆盖率统计数据?

Susan Sarandon
发布: 2024-10-28 20:39:30
原创
930 人浏览过

How to Obtain Accurate Coverage Stats for a Package When Tests Are in a Separate Package?

在单独的测试包中测试覆盖率

当出于组织目的将测试文件分成不同的包时,获取目标代码的覆盖率统计信息可以成为一个挑战。这个问题探讨了这种情况的解决方法,其中测试包位于 api_client_tests 中,代码位于 api_client 中。

问题:

如何准确覆盖率统计当相关测试位于单独的包中时,是否为正在测试的 api_client 包获取?

解决方案:

提供的解决方案涉及使用 go test 命令和-cover 和 -coverpkg 标志。通过使用 -coverpkg 标志指定 api_client 包作为覆盖目标:

go test -cover -coverpkg "api_client" "api_client_tests"
登录后复制

将专门为 api_client 包中的代码生成覆盖率统计信息,即使测试位于外部 api_client_tests 中。

替代方法:

虽然上述方法是一个可行的解决方案,但它偏离了典型的 Go 约定,即将测试文件与代码保存在同一个包中。测试。这可能会导致调试和协作困难。

另一种方法,如评论中提到的,是将测试文件简单地移动到与被测代码相同的包中。这可确保与特定功能或组件相关的所有代码都分组在一起,以便于维护。

以上是当测试位于单独的包中时,如何获取包的准确覆盖率统计数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

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