簡體   English   中英

去測試coverprofile找不到包

[英]go test coverprofile cannot find package

當我嘗試以下

go test -coverprofile=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
...

但是當我這么做的時候

go tool cover -func=coverage.out

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)

編輯:注意go test -cover工作。

PASS                                                                                                                         
coverage: 29.7% of statements                                                                                                
ok      _/Users/gert/Desktop/httx       0.015s

您的包/Users/gert/Desktop/httx/位於$GOPATH ,即/Users/gert/go httxhttx $GOPATH下的某處,它可以正常工作。 您可以將它移動到/Users/gert/go/src/httx或類似/Users/gert/go/src/github.com/your-github-name/httx (假設您使用GitHub)。

看看使用相對路徑

將覆蓋路徑更改為./

sed -i "s/_$(pwd|sed 's/\//\\\//g')/./g" coverage.out

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM