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

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

Susan Sarandon
Susan Sarandon原创
2024-12-15 21:17:14311浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn