[英]go test coverprofile cannot find package
When I try the following 当我尝试以下
go test -coverprofile=coverage.out
I get this coverage.out: 我得到这个coverage.out:
mode: set
_/Users/gert/Desktop/httx/auth.go:10.66,11.54 1 0
_/Users/gert/Desktop/httx/auth.go:11.54,13.89 2 0
_/Users/gert/Desktop/httx/auth.go:17.3,17.11 1 0
_/Users/gert/Desktop/httx/auth.go:13.89,16.4 2 0
_/Users/gert/Desktop/httx/auth.go:22.42,25.2 2 0
...
But when I then do 但是当我这么做的时候
go tool cover -func=coverage.out
coverage.out doesn't seem to be correctly formatted? coverage.out似乎没有正确格式化?
cover: can't find "auth.go": cannot find package "_/Users/gert/Desktop/httx/" in any of:
/usr/local/Cellar/go/1.7.1/libexec/src/_/Users/gert/Desktop/httx (from $GOROOT)
/Users/gert/go/src/_/Users/gert/Desktop/httx (from $GOPATH)
EDIT: Note that go test -cover
works. 编辑:注意go test -cover
工作。
PASS
coverage: 29.7% of statements
ok _/Users/gert/Desktop/httx 0.015s
Your package /Users/gert/Desktop/httx/
is outside of your $GOPATH
which is /Users/gert/go
. 您的包/Users/gert/Desktop/httx/
位于$GOPATH
,即/Users/gert/go
。 Move the httx
package somewhere under your $GOPATH
and it will work fine. 将httx
包httx
$GOPATH
下的某处,它可以正常工作。 You could move it to /Users/gert/go/src/httx
or probably something like /Users/gert/go/src/github.com/your-github-name/httx
(assuming you use GitHub). 您可以将它移动到/Users/gert/go/src/httx
或类似/Users/gert/go/src/github.com/your-github-name/httx
(假设您使用GitHub)。
see use relative path 看看使用相对路径
change coverage path to ./
: 将覆盖路径更改为./
:
sed -i "s/_$(pwd|sed 's/\//\\\//g')/./g" coverage.out
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.