测量 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中文网其他相关文章!