我已更新到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
运行它,但结果是一样的。我在我的整个项目和供应商中寻找“命令行”而没有找到它。
正常运行go run email.go
。我的项目依赖项位于目录vendor
(高一级),它包含github.com/jpoehls/gophermail
答案 0 :(得分:3)
正如@volker在评论中解释的那样,我的问题是我想测试文件而不是软件包。
当我重新组织我的项目并仅通过go test
进行测试时,它可以正常工作。
然而,它并不能解释为什么我会遇到这样一个奇怪的错误。