golang 单元测试覆盖率问题?

stevenlee87
  • 38

在使用goland IDE环境进行单元测试时,执行单元测试(run with coverage)进行覆盖率测试时,总是报如下错误:
图片描述

我尝试open directory as project 打开这个目录,然后执行单元测试(run with coverage)进行覆盖率测试是OK的。但是在一个大的项目下直接执行单元测试(run with coverage)进行覆盖率测试就会报错。实际的覆盖率是52.6%,不应该是0。感觉很奇怪啊,没有找到问题。

使用命令go test -coverprofile=coverage.out 测试是OK的。

报错的核心是:warning: no packages being tested depend on matches for pattern ..........golang/...

我的gopath是这样的:
GOPATH=D:project\golang\
项目在如下目录:
D:\project\golang\src\golang\learngo\nonrepeatingsubstr

回复
阅读 4.4k
3 个回答

应该是go test测试的目录不对.

wangwg
  • 3
新手上路,请多包涵

应该是目录结构问题。
你在项目 root 目录下,执行 “go test ./...” 看下哪些有问题。

你的问题解决了吗?你的 go 是什么版本的?我在 github 搜到相应的 issue,好像是 go 1.10 引入的 bug,应该后来修复了,不知道和你的问题有没有关系。

issue 地址:https://github.com/golang/go/...

宣传栏