go test coverage 单测覆盖率
在Go中,可以使用go test
命令结合一些参数来检查代码的单元测试覆盖率。以下是如何做到这一点的步骤和示例:
- 在你的Go项目中添加单元测试。
- 运行
go test
命令并带上-coverprofile
和-covermode
参数。
例如:
go test -coverprofile=coverage.out -covermode=atomic ./...
这里:
-coverprofile=coverage.out
指定了输出的覆盖率文件。-covermode=atomic
指定了覆盖率模式,atomic
模式在每个包下计算覆盖率,而set
模式会在全局计算覆盖率,但可能会在并发测试时出现不一致。./...
表示对当前目录下的所有Go包进行测试。
执行完上述命令后,你会得到一个名为coverage.out
的文件,其中包含了测试覆盖率的详细信息。
要查看覆盖率结果,可以使用go tool
命令:
go tool cover -html=coverage.out
这将在浏览器中打开一个HTML页面,展示每行代码的测试覆盖情况。
评论已关闭