golang 单元测试覆盖率报告的生成方式为:执行 go test -cover 生成覆盖率数据。执行 go tool cover -html=coverage.out 生成 html 覆盖率报告。
GoLang 单元测试覆盖率报告生成指南
单元测试是软件开发中必不可少的一部分,它有助于我们验证代码的正确性。 GoLang 内置了强大的单元测试框架,并且提供了生成测试覆盖率报告的功能,该报告可以帮助我们了解哪些代码被测试,哪些没有。
如何生成覆盖率报告
在 GoLang 中,我们可以使用 -cover 标志来生成覆盖率报告。该标志需要与 go test 命令一起使用,如下所示:
go test -cover
登录后复制登录后复制
执行该命令后,GoLang 编译器会在 coverage.out 文件中生成覆盖率数据。
立即学习“go语言免费学习笔记(深入)”;
查看覆盖率报告
要查看覆盖率报告,我们可以使用以下命令:
go tool cover -html=coverage.out
登录后复制
这将生成一个 HTML 报告,显示每个包、文件和函数的覆盖率。
实战案例
考虑以下 GoLang 代码:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
登录后复制
我们可以使用以下命令生成测试覆盖率报告:
go test -cover
登录后复制登录后复制
生成的 coverage.out 文件中的相关部分可能如下所示:
coverage.out total: 62.5% stat.go: 0.0% strconv/atoi.go: 87.5% strconv/decimal.go: 66.7% strconv/hash.go: 0.0% strconv/numeric.go: 100.0% strconv/test.go: 0.0% strconv/utf8.go: 0.0%
登录后复制
该报告显示,strconv 包的覆盖率为 87.5%,而 stat.go 文件的覆盖率为 0%。
小贴士
- 使用 -covermode=set 标志来生成较小的覆盖率文件。
- 使用 go tool cover -func 命令查看每个函数的覆盖率详情。
- 定期生成覆盖率报告以确保测试覆盖代码的大部分。
以上就是golang的单元测试如何生成测试覆盖率报告?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:木子,转转请注明出处:https://www.dingdanghao.com/article/667875.html