我已经更新到 GO 1.6,现在在运行 go test
时出现非常奇怪的错误
pawel@pawel:~/work/src/...../web/workers$ go test email_test.go
# command-line-arguments
email_test.go:16:2: cannot find package "command-line-a/vendor/github.com/jpoehls/gophermail" in any of:
/usr/local/go/src/command-line-a/vendor/github.com/jpoehls/gophermail (from $GOROOT)
/home/pawel/work/src/command-line-a/vendor/github.com/jpoehls/gophermail (from $GOPATH)
/home/pawel/work/src/...../web/_vendor/src/command-line-a/vendor/github.com/jpoehls/gophermail
FAIL command-line-arguments [setup failed]
我也尝试用 go test email_test.go email.go
运行它,但结果是一样的。我在我的整个项目和 vendor 中搜索“命令行”,但没有找到。
运行 go run email.go
工作正常。我的项目依赖项在目录 vendor
(更高一级)中,它包含 github.com/jpoehls/gophermail
最佳答案
正如@volker 在评论中解释的那样,我的问题是我想测试文件而不是包。
当我重新组织我的项目并通过 go test
进行测试时,它工作正常。
尽管如此,它并不能解释为什么我会收到如此奇怪的错误。
关于GO 测试给出了非常奇怪的错误 - 找不到包 command-line-a/vendor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36420953/