首页  >  文章  >  后端开发  >  如何准确衡量 Go 集成测试的覆盖率?

如何准确衡量 Go 集成测试的覆盖率?

Barbara Streisand
Barbara Streisand原创
2024-11-08 20:40:01432浏览

How Can I Accurately Measure Coverage in Go Integration Tests?

测量 Go 集成测试中的测试覆盖率

在 Go REST API 上进行集成测试时,使用 go test -cover 可能会产生误导0% 测试覆盖率。这是因为 go 工具 cover 无法识别驻留在服务包之外的测试。

然而,-coverpkg 指令提供了一种解决方案,通过测量特定包内的测试覆盖率,无论是否测试属于该包。这允许准确的服务包覆盖率报告,例如:

$ go test -cover -coverpkg mypackage ./src/api/...
ok      /api    0.190s  coverage: 50.8% of statements in mypackage
ok      /api/mypackage   0.022s  coverage: 0.7% of statements in mypackage

相反,使用 go test -cover 将报告:

$ go test -cover ./src/api/...
ok      /api    0.191s  coverage: 71.0% of statements
ok      /api/mypackage   0.023s  coverage: 0.7% of statements

这证明了 -coverpkg 的有效性将覆盖率测量隔离到所需的包,在本例中为 mypackage。尽管这可能不是集成测试覆盖率的最佳方法,但它提供了对特定模块的代码覆盖率的宝贵见解。

以上是如何准确衡量 Go 集成测试的覆盖率?的详细内容。更多信息请关注PHP中文网其他相关文章!

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