首页 >后端开发 >Golang >跨单独的 Go 包运行集成测试时如何实现准确的代码覆盖率?

跨单独的 Go 包运行集成测试时如何实现准确的代码覆盖率?

Susan Sarandon
Susan Sarandon原创
2024-12-12 13:16:09794浏览

How Can I Achieve Accurate Code Coverage When Running Integration Tests Across Separate Go Packages?

跨包测试代码覆盖率

在单独的包中运行集成测试时,实现准确的代码覆盖率可能具有挑战性。默认情况下,测试仅分析正在测试的包。

在您的示例中,集成测试位于“itest”包中,而被测试的代码位于“hello”包中。使用 go test -v -coverpkg ./... ./itest 运行测试会导致覆盖率 0%,因为测试覆盖率仅限于“itest”包。

要获得全面的代码覆盖率,- coverpkg 标志必须包含包含被测试代码的包。正确的命令是:

go test -v -coverpkg ./... ./...

通过此修改,测试将分析“hello”和“itest”包,提供预期的覆盖结果。

以上是跨单独的 Go 包运行集成测试时如何实现准确的代码覆盖率?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn