How to `go test` all tests in my project?
This should run all tests in current directory and all of its subdirectories:
$ go test ./...
This should run all tests for given specific directories:
$ go test ./tests/... ./unit-tests/... ./my-packages/...
This should run all tests with import path prefixed with foo/
:
$ go test foo/...
This should run all tests import path prefixed with foo
:
$ go test foo...
This should run all tests in your $GOPATH:
$ go test ...
From Go 1.9 onwards, use
go test ./...
In Go 1.6 through 1.8, the ./...
matched also the vendor
directory. To skip vendored packages, you'd use
go test $(go list ./... | grep -v /vendor/)
Sources: 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's comment.