去构建工作,但去测试没有

时间:2015-12-04 16:47:42

标签: go

以下是我的项目结构:

/user/home/go/src/github.com/my_go_proj
                                       /main.go
                                       /mypackage
                                                 /service.go
                                                 /service_test.go

GOPATH points to /user/home/go
cd /user/home/go/src/github.com/my_go_proj
go build ---> This works and creates the `my_go_proj` executable.
go test
?       github.com/my_go_proj   [no test files]
go test github.com/my_go_proj/mypackage
go build gopkg.in/tomb.v2: no buildable Go source files in 
FAIL    github.com/my_go_proj/mypackage [build failed]

go test ./...
?       github.com/my_go_proj   [no test files]
go build gopkg.in/tomb.v2: no buildable Go source files in 
FAIL    github.com/my_go_proj/mypackage [build failed]

如何运行go test在mypackage中运行service_test.go测试?

更新:更新了go test ./...

的行为

2 个答案:

答案 0 :(得分:0)

要测试所有子目录,请使用:

$ go test ./...

来自Relative import paths文档的Command go部分:

  

也允许相对模式,例如go test ./...来测试所有子目录。有关模式语法的详细信息,请参阅“go help packages”。

答案 1 :(得分:0)

问题在于目录结构。我的项目来源应该在$GOPATH。但它在$GOPATH/src内。

不正确 /user/home/go/src/github.com/my_go_proj
更正 /user/home/go/github.com/my_go_proj