golang - codecoverage总是显示覆盖率:0.0%的语句

时间:2014-09-01 11:30:51

标签: go code-coverage

我创建了一个示例go项目并为其创建了一个单元测试用例(在Linux环境中,go1.3版本)

当我跑go test时,输出将是

  

PASS
  ok supported_db 0.201s

我尝试使用go test -cover命令显示整个应用程序的代码覆盖率

  

去工具:没有这样的工具"覆盖&#34 ;;安装:
  去获取code.google.com/p/go.tools/cmd/cover

此外,我通过运行显示

go test -cover CouchDB_test.go命令运行特定测试用例时检查了覆盖率
  

ok命令行参数0.158s覆盖率:0.0%的语句

请帮我在golang中运行代码覆盖率。

2 个答案:

答案 0 :(得分:5)

先尝试:

go test -coverprofile=coverage.out

然后我跑,看到结果:

go tool cover -html=coverage.out

如果通过升级1.1,1.2,...安装1.3版本,您可以尝试,如issue 110

  

我通过完全删除$ GOPATH / src / code.google.com / p / go.tools并再次安装封面解决了这个问题:

go get code.google.com/p/go.tools/cmd/cover

答案 1 :(得分:0)

It helped me

如果测试位于子文件夹中,只需添加-coverpkg=./...选项:

go test ./... -v -coverpkg=./...