GO测试给出了非常奇怪的错误 - 无法找到包命令行-a / vendor

时间:2016-04-05 08:26:47

标签: go

我已更新到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

1 个答案:

答案 0 :(得分:3)

正如@volker在评论中解释的那样,我的问题是我想测试文件而不是软件包。 当我重新组织我的项目并仅通过go test进行测试时,它可以正常工作。

然而,它并不能解释为什么我会遇到这样一个奇怪的错误。