Подтвердить что ты не робот

Как "протестировать" все тесты в моем проекте?

Команда go test охватывает *_test.go файлы только в одном каталоге.

Я хочу go test весь проект, что означает, что тест должен охватывать все *_test.go файлы в каталоге ./ и каждый каталог дерева chindren в каталоге ./.

Какая команда для этого?

4b9b3361

Ответ 1

Это должно запускать все тесты в текущем каталоге и во всех его подкаталогах:

$ go test ./...

Это должно запускать все тесты с пути импорта с префиксом foo/:

$ go test foo/...

Это должно запустить все пути импорта пробных префиксов с foo:

$ go test foo...

Это должно запускать все тесты в вашем $GOPATH:

$ go test ...

Ответ 2

Начиная с версии 1.9,, используйте

go test ./...

В Go 1.6 до 1.8, ./... соответствует также vendor directory. Чтобы пропустить пакеты с поставщиками, вы должны использовать

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.