gpt4 book ai didi

go - 运行测试并跳过一些包

转载 作者:IT老高 更新时间:2023-10-28 13:07:57 24 4
gpt4 key购买 nike

是否可以从测试中跳过目录。例如,给定下面的结构,是否可以测试 mypackage、mypackage/other 和 mypackage/net 但不能测试 mypackage/scripts?我的意思是不用为每个(例如去测试;去测试网;去测试其他)

mypackage
mypackage/net
mypackage/other
mypackage/scripts

最佳答案

Go test 获取要在命令行上测试的软件包列表(请参阅 go help packages),因此您可以通过一次调用来测试任意一组软件包,如下所示:

去测试 import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net

或者,取决于你的外壳:

去测试 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() 来触发跳过。

关于go - 运行测试并跳过一些包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29064197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com