我必须从同事那里接手一个Go项目,我以前从未接触过Go,而且它没有测试,所以我开始添加它们,但我无法运行它们。
用于运行测试的 go 命令是go test,但它似乎没有在根级别运行。
我的项目结构是:
/project/main.go
/project/engine/*.go
/project/api/*.go
Run Code Online (Sandbox Code Playgroud)
如果我cd进入 或engine,api并运行go test它,它可以工作,但不能在根文件夹中。
cd /project
go test
? /project [no test files]
Run Code Online (Sandbox Code Playgroud)
有没有办法从根目录运行所有测试?
您可以使用...(省略号) 运算符来测试当前包的所有子包。像那样:go test ./...。
如果您执行更复杂的操作(例如使用该工具),稍后您可能还想尝试其他解决方案list。像这样(例如):go test $(go list ./... | grep [regex])。这对于vendor从测试中排除该目录很有用。
您可能想了解的另一件事是gt可以在此处找到的命令https://godoc.org/rsc.io/gt并向该命令添加缓存go test。
最后,请毫不犹豫地阅读https://blog.golang.org/cover来获取有关 golang 代码覆盖率分析的信息。
| 归档时间: |
|
| 查看次数: |
6085 次 |
| 最近记录: |