跨包测试代码覆盖率
在单独的包中运行集成测试时,实现准确的代码覆盖率可能具有挑战性。默认情况下,测试仅分析正在测试的包。
在您的示例中,集成测试位于“itest”包中,而被测试的代码位于“hello”包中。使用 go test -v -coverpkg ./... ./itest 运行测试会导致覆盖率 0%,因为测试覆盖率仅限于“itest”包。
要获得全面的代码覆盖率,- coverpkg 标志必须包含包含被测试代码的包。正确的命令是:
go test -v -coverpkg ./... ./...
通过此修改,测试将分析“hello”和“itest”包,提供预期的覆盖结果。
以上是跨单独的 Go 包运行集成测试时如何实现准确的代码覆盖率?的详细内容。更多信息请关注PHP中文网其他相关文章!