Go命令行—cover

cover 用于分析'go test -coverprofile = cover.out'生成的覆盖率配置文件。

cover 还被'go test -cover'用来重写源代码和注释来跟踪每个函数的哪些部分被执行。它一次运行一个Go源文件,通过研究源代码来计算近似的基本块信息。 因此,它比二进制重写覆盖工具更具可移植性,但功能稍差。例如,它不探测&&和||内部表达式,并且可以通过具有多个函数文字的单个语句轻度混淆。

了解更多细节,请使用

go help testflag
go tool cover -help
Usage of 'go tool cover':
Given a coverage profile produced by 'go test':
        go test -coverprofile=c.out

打开显示带有注释源码的Web浏览器:
        go tool cover -html=c.out

写入一个HTML文件而不是启动web浏览器:
        go tool cover -html=c.out -o coverage.html

在标准输出中打印每个函数覆盖比例:
        go tool cover -func=c.out

生成带有覆盖注释的修改过的源代码
(what go test -cover does):
        go tool cover -mode=set -var=CoverageVariableName program.go

Flags:
  -func string
        输出每个功能的覆盖信息
  -html string
        生成 HTML 文件显示覆盖率
  -mode string
        覆盖类型: set, count, atomic
  -o string
       输出类型; 默认是: stdout
  -var string
        生成覆盖变量的名称 (默认 "GoCover")