このgo test
コマンドは*_test.go
、1 つのディレクトリ内のファイルのみを対象としています。
プロジェクト全体が必要ですgo test
。つまり、テストはdir 内のすべての*_test.go
ファイルと、./
dir の下のすべての子ツリー dir をカバーする必要があります./
。
これを行うコマンドは何ですか?
これにより、現在のディレクトリとそのすべてのサブディレクトリですべてのテストが実行されます。
$ go test ./...
これにより、特定のディレクトリに対してすべてのテストが実行されます。
$ go test ./tests/... ./unit-tests/... ./my-packages/...
これにより、次のプレフィックスが付いたインポート パスを使用してすべてのテストが実行されますfoo/
。
$ go test foo/...
これにより、次のプレフィックスが付いたすべてのテスト インポート パスが実行されますfoo
。
$ go test foo...
これにより、$GOPATH 内のすべてのテストが実行されます。
$ go test ...
Go 1.9 以降、使用
go test ./...
Go 1.6 から 1.8 では、directory./...
も一致していました。ベンダーのパッケージをスキップするには、次を使用しますvendor
go test $(go list ./... | grep -v /vendor/)
ソース: https://github.com/golang/go/issues/11659、https://github.com/golang/go/issues/14417、https://github.com/go-lang-plugin-org/ go-lang-idea-plugin/issues/2366、@nickgrim のコメント。