Golang单元测试覆盖率详解及统计方法

发表时间: 2024-06-30 21:06

前言

单元测试在软件开发中扮演着重要角色,而单元测试覆盖率是衡量单元测试质量的重要指标。它表示被测试的代码占整个代码库的比例。

这里介绍官方提供的单元测试覆盖率工具使用方法。

统计目录代码覆盖率

通过go test -cover 查看目录代码覆盖率

生成代码覆盖率数据文件

命令:

#windowsgo test --coverprofile=cover.out ./...#linuxgo test -coverprofile=cover.out ./...

这个时候就会发现生成了代码覆盖率数据文件cover.out

以html形式查看每个文件的具体覆盖情况

#windowsgo tool cover --html=cover.out#linuxgo tool cover -html=cover.out

格式如:

这种可以得到每个文件的详细覆盖率

  • 如果想获得行总覆盖率
# windowsgo tool cover --func="cover.out"#linuxgo tool cover -func="cover.out"