我的项目文件夹包含:
Makefile README.md component/ driver/ service/ vendor/ worker/
我想go test在所有测试文件上运行,例如,foobar_test.go除供应商软件包中的测试文件外的文件。我最接近成功的是,go test ./...但其中包括供应商测试文件。
go test
foobar_test.go
go test ./...
我在文档中看到您可以将正则表达式传递给-runoption,但是我无法正常工作。例如我尝试过go test ./*,但是我得到了一堆can't load package errors。
-run
go test ./*
can't load package errors
最好的方法是什么?
该-run模式仅与测试标识符(而非文件名)匹配;原则上,您可以执行以下操作:
go test -run TestFoo
但是当您不得不将Foo所有测试功能名称添加到您可能不需要的位置时。
Foo
自Go 1.9起,该...通配符不包含该./vendor目录,因此您现在可以运行go test ./...,而不会包含./vendor。
...
./vendor