当测试文件在模块中时,如何运行`go test`?

时间:2016-08-18 07:18:32

标签: testing go

当您将模块引入项目时,如何在该模块中运行测试用例?

即。我做了:

go get my.repo.com/repo/mymodule

然后尝试在其中测试一些东西:

server> go test src/my.repo.com/repo/mymodule/my_test.go 
# command-line-arguments
src/my.repo.com/repo/mymodule/article_test.go:4:2: cannot find package "mymodule" in any of:

我们是否应该单独检查我们的模块并进行测试?我无法解决该怎么做的问题。似乎当我go run它知道如何找到我已经提取的模块时,但是当我go test时,它无法找到它"在路上。

1 个答案:

答案 0 :(得分:4)

go test期望包,而不是相对于$GOPATH的文件夹。

所以省略前导src/和尾随文件名,它就可以了:

go test my.repo.com/repo/mymodule

如果当前目录是您要测试的包文件夹,您甚至可以省略它,例如

cd $GOPATH/src/my.repo.com/repo/mymodule
go test

有关参考,请参阅Command go / Test packages,同时运行

go help test