如何在运行“go test”时排除或跳过特定目录

kis*_*shu 10 testing go goland

go test $(go list ./... | grep -v /vendor/) -coverprofile .testCoverage.txt
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的命令来测试文件,但是我想从测试中排除 1 个名为“Store”的文件夹。怎么做?

Fli*_*mzy 14

你已经在这样做了:

$(go list ./... | grep -v /vendor/)
Run Code Online (Sandbox Code Playgroud)

grep -v /vendor/部分是排除/vendor/目录。因此,只需对您的Store目录执行相同操作:

go test $(go list ./... | grep -v /Store/) -coverprofile .testCoverage.txt
Run Code Online (Sandbox Code Playgroud)

请注意,/vendor/没有必要排除这种方式(除非您使用的是非常旧的 Go 版本)。如果您使用的是旧版本的 Go,您可以将它们组合起来:

go test $(go list ./... | grep -v /vendor/ | grep -v /Store/) -coverprofile .testCoverage.txt
Run Code Online (Sandbox Code Playgroud)