是否可以从 golang 工具中获取覆盖信息(即不是测试)?

Is it possible to get coverage information from a golang tool (i.e. not a test)?

我有一个 go 模块,我需要对其进行集成测试以验证是否涵盖了大部分内容。

有了单元测试,我去做:

go test -cover

太棒了! (参见 here

因为我需要 运行 集成测试(即 Redis 需要 运行ning),我有一个工具,我开始使用它:

go run cmd/integration/test.go

并且 -cover 在这种情况下不起作用。

您正在寻找的是构建标签。 将以下内容放在包行上方的 redis 集成测试顶部:

// +build integration

运行:

go test -cover -tags=integration

到 运行 具有代码覆盖率的集成测试。

进一步阅读: https://mickey.dev/posts/go-build-tags-testing/