Golang coverprofile 输出格式
Golang coverprofile output format
我正在尝试理解 go test
中的 -coverprofile cover.out
选项,特别是文件的格式。
例如,覆盖 server.go
会产生 cover.out
中的输出:
mode: set
github.com/cnuss/api_server/server.go:47.2,48.16 2 0
github.com/cnuss/api_server/server.go:52.2,53.16 2 0
github.com/cnuss/api_server/server.go:57.2,58.16 2 0
github.com/cnuss/api_server/server.go:62.2,63.16 2 0
github.com/cnuss/api_server/server.go:67.2,68.16 2 0
github.com/cnuss/api_server/server.go:72.2,73.16 2 0
github.com/cnuss/api_server/server.go:77.2,78.16 2 0
- 每一列的含义是什么?
- 是 "standard" 格式的输出格式,例如gcov、xunit 等并可转换为另一种格式?
您使用 go cover
工具处理封面配置文件:
打开显示带注释的源代码的网络浏览器:
go tool cover -html=c.out
写一个 HTML 文件而不是启动网络浏览器:
go tool cover -html=c.out -o coverage.html
将每个函数的覆盖百分比显示到标准输出:
go tool cover -func=c.out
golang-nuts 社区 (https://groups.google.com/forum/#!forum/golang-nuts) 提供了一些有用的工具,用于将 Go 覆盖范围转换为更有用的格式。
JUnit 格式(用于总结测试执行):
# Prerequisites
go get github.com/jstemmer/go-junit-report
# Tests
go test -v | go-junit-report > report.xml
Cobertura 格式(用于详细说明代码覆盖率):
# Prerequisites
go get github.com/axw/gocov/gocov
go get github.com/AlekSi/gocov-xml
# Coverage
go test -coverprofile=cover.out
gocov convert cover.out | gocov-xml > coverage.xml
将我指向这个方向的线程在这里:
https://groups.google.com/forum/#!topic/golang-nuts/iUc68Zrxk_c
字段是:
name.go:line.column,line.column numberOfStatements count
我正在尝试理解 go test
中的 -coverprofile cover.out
选项,特别是文件的格式。
例如,覆盖 server.go
会产生 cover.out
中的输出:
mode: set
github.com/cnuss/api_server/server.go:47.2,48.16 2 0
github.com/cnuss/api_server/server.go:52.2,53.16 2 0
github.com/cnuss/api_server/server.go:57.2,58.16 2 0
github.com/cnuss/api_server/server.go:62.2,63.16 2 0
github.com/cnuss/api_server/server.go:67.2,68.16 2 0
github.com/cnuss/api_server/server.go:72.2,73.16 2 0
github.com/cnuss/api_server/server.go:77.2,78.16 2 0
- 每一列的含义是什么?
- 是 "standard" 格式的输出格式,例如gcov、xunit 等并可转换为另一种格式?
您使用 go cover
工具处理封面配置文件:
打开显示带注释的源代码的网络浏览器:
go tool cover -html=c.out
写一个 HTML 文件而不是启动网络浏览器:
go tool cover -html=c.out -o coverage.html
将每个函数的覆盖百分比显示到标准输出:
go tool cover -func=c.out
golang-nuts 社区 (https://groups.google.com/forum/#!forum/golang-nuts) 提供了一些有用的工具,用于将 Go 覆盖范围转换为更有用的格式。
JUnit 格式(用于总结测试执行):
# Prerequisites
go get github.com/jstemmer/go-junit-report
# Tests
go test -v | go-junit-report > report.xml
Cobertura 格式(用于详细说明代码覆盖率):
# Prerequisites
go get github.com/axw/gocov/gocov
go get github.com/AlekSi/gocov-xml
# Coverage
go test -coverprofile=cover.out
gocov convert cover.out | gocov-xml > coverage.xml
将我指向这个方向的线程在这里: https://groups.google.com/forum/#!topic/golang-nuts/iUc68Zrxk_c
字段是:
name.go:line.column,line.column numberOfStatements count