GO 测试给出了非常奇怪的错误 - 找不到包 command-line-a/vendor

标签 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 运行它,但结果是一样的。我在我的整个项目和 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/

相关文章:

go - 使用一个签名 key 对jwt进行签名安全吗?

unit-testing - 如何在 Golang 测试文件中构建导入

json - 使用 null 解码字符串编码的 json int 在 null 时使用以前的值

go - 将一个结构的字段更新为另一个结构

go - 导入更新在主包中无法识别

mysql - 我必须在调用 *sql.Tx.Rollback() 之前调用 *sql.Rows.Close() 吗?

http - 为 Go 提供 gzip 压缩的内容

mongodb - 如何使用 mgo(golang 客户端)查询 mongodb 中的 UUID 字段?

json - 如何在 golang 中使用 Unmarshal 从 json 文档中获取结构中的 json 字符串

unit-testing - 在 channel 中设置数据,该 channel 实际上由单元测试的模拟函数设置