登录
首页 >  Golang >  Go问答

运行测试并跳过一些包

来源:Golang技术栈

时间:2023-04-05 09:34:59 368浏览 收藏

从现在开始,努力学习吧!本文《运行测试并跳过一些包》主要讲解了golang等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

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

mypackage
mypackage/net
mypackage/other
mypackage/scripts

正确答案

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`

您的评论说您想跳过一个子目录,因此(取决于您的外壳)也许是这样的:

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

本篇关于《运行测试并跳过一些包》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表