Как исключить или пропустить определенный каталог при запуске «go test»

go test $(go list ./... | grep -v /vendor/) -coverprofile .testCoverage.txt

Я использую указанную выше команду для проверки файлов, но есть 1 папка с именем «Магазин», которую я хочу исключить из тестов. Как это можно сделать?


person kishu    schedule 18.03.2019    source источник
comment
./... не включает ./vendor, поэтому вам не нужен этот grep. Иначе что не так с другим grep?   -  person JimB    schedule 18.03.2019
comment
Начиная с Go 1.9 или около того, ./... уже исключает каталог поставщика. Обновите до более новой версии Go.   -  person Flimzy    schedule 18.03.2019
comment
@Flimzy моя версия уже: версия go1.11.1 linux/amd64   -  person kishu    schedule 18.03.2019
comment
Хороший. Тогда вам не нужны эти grep -v /vendor/ вещи.   -  person Flimzy    schedule 18.03.2019


Ответы (1)


Вы уже делаете это:

$(go list ./... | grep -v /vendor/)

Часть grep -v /vendor/ предназначена для исключения каталога /vendor/. Так что просто сделайте то же самое для вашего каталога Store:

go test $(go list ./... | grep -v /Store/) -coverprofile .testCoverage.txt

Обратите внимание, что исключать /vendor/ таким образом не обязательно (если только вы не используете очень старую версию Go). Если вы используете старую версию Go, вы можете объединить их:

go test $(go list ./... | grep -v /vendor/ | grep -v /Store/) -coverprofile .testCoverage.txt
person Flimzy    schedule 18.03.2019