首页 > 后端开发 > Golang > 如何有选择地运行 Go 测试并排除特定的包或目录?

如何有选择地运行 Go 测试并排除特定的包或目录?

Susan Sarandon
发布: 2024-12-15 21:17:14
原创
309 人浏览过

How Can I Selectively Run Go Tests and Exclude Specific Packages or Directories?

选择性测试:在 Go 中跳过包

运行测试套件时,您可能会遇到想要从其中排除某些包或目录的情况测试。在 Go 中,可以直接从命令行指定要测试的包。

例如,假设您有一个如下所示的项目结构:

mypackage
mypackage/net
mypackage/other
mypackage/scripts
登录后复制

仅测试 mypackage 、 mypackage/other 和 mypackage/net 包,同时排除 mypackage/scripts,您可以使用以下内容命令:

go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net
登录后复制

或者,如果您首选的 shell 语法允许,您可以使用以下简写:

go test import/path/to/mypackage{,/other,/net}
登录后复制

另一种方法涉及利用 go list,它返回包列表匹配给定的模式。您可以将此输出传输到 grep 等命令,并过滤掉您不想测试的包,如下所示:

go test `go list ./... | grep -v directoriesToSkip`
登录后复制

如果跳过测试的原因是为了优化运行时,则测试函数本身可以检查testing.Short()并决定是否使用t.Skip()跳过。这允许在调用 go test -short 时进行选择性测试。

以上是如何有选择地运行 Go 测试并排除特定的包或目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板