是否可以从测试中跳过目录。例如,给出下面的结构是否可以测试 mypackage、mypackage/other 和 mypackage/net 但不能测试 mypackage/scripts?我的意思是没有为每个编写 go test 命令(例如 go test; go test net; go test other)mypackagemypackage/netmypackage/othermypackage/scripts
1 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
Go test 使用要在命令行上测试的包列表(请参阅 参考资料go help packages
),这样您就可以通过一次调用来测试任意一组包,如下所示:
go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net
或者,取决于您的外壳:
go test import/path/to/mypackage{,/other,/net}
您也许可以使用有趣的调用go list
作为参数(同样,取决于您的 shell):
go test `go list`
你的评论说你想跳过一个子目录所以(取决于你的shell)也许是这样的:
go test `go list ./... | grep -v directoriesToSkip`
与任何事情一样,如果你经常这样做,你可以为它制作一个 shell 别名/任何东西。
如果您想跳过测试的原因是,例如,您经常想跳过长时间/昂贵的测试,那么测试本身可以/应该适当地检查testing.Short()
和调用t.Skip()
。
然后你可以运行:
go test -short import/path/to/mypackage/...
或从mypackage
目录中:
go test -short ./...
您也可以使用其他内容testing.Short()
来触发跳过。
- 1 回答
- 0 关注
- 219 浏览
添加回答
举报
0/150
提交
取消