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

问题描述

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

通过单元测试,我去做:

go test -cover

哪个很棒! (请参见here

由于我需要运行集成测试(即Redis需要运行),因此我有一个工具,我从以下工具开始​​:

go run cmd/integration/test.go

,而-cover在这种情况下不起作用。

解决方法

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

// +build integration

运行:

go test -cover -tags=integration

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

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