我必须从同事那里接手一个 go 项目,我以前从未接触过 Go,它也没有测试,所以我开始添加它们,但我无法运行它们。
运行测试的 go 命令是 go test
但它似乎没有在根级别运行。
我的项目结构是:
/project/main.go
/project/engine/*.go
/project/api/*.go
如果我 cd
进入 engine
或 api
,然后运行 go test
它可以工作但不在根文件夹。
cd /project
go test
? /project [no test files]
有没有办法从根目录运行所有测试?
最佳答案
您可以使用...
(省略号)运算符来测试当前包的所有子包。像这样:去测试 ./...
。
如果您做一些更复杂的事情,例如使用 list
工具,您以后可能还想尝试其他解决方案。像这样(例如):go test $(go list ./... | grep [regex])
。这对于从测试中排除 vendor
目录很有用。
您可能想了解的另一件事是可以在此处找到的 gt
命令 https://godoc.org/rsc.io/gt并将缓存添加到 go test
命令。
最后,不要犹豫,阅读https://blog.golang.org/cover获取有关 golang 中代码覆盖率分析的信息。
关于go - 从根项目文件夹运行 go 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719661/