登录
首页 >  Golang >  Go问答

子目录中的 Golang 测试

来源:Golang技术栈

时间:2023-05-04 06:04:53 485浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《子目录中的 Golang 测试》,就坚持看下去吧!文中内容包含golang等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我想在 Go 中创建一个包,其中包含该包的测试和示例作为子目录,以保持工作空间更清洁。这可能吗?如果可以,怎么办?

所有的文档总是把测试代码和其他代码放在同一个地方,这是在某种程度上更好还是只是约定?

正确答案

请注意,您 可以 “递归”运行go test:您需要 列出所有要测试的包

如果您位于 Go 项目的根文件夹中,请键入:

go test ./...

' ./...' 符号在“命令”的“[包列表描述](http://golang.org/cmd/go/#hdr- Description_of_package_lists)”部分中进行了描述:go

如果导入路径包含一个或多个“ ...”通配符,则它是一种模式,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。

这种模式扩展到在GOPATH树中找到的所有名称与模式匹配的包目录。

作为一种特殊情况,x/...匹配x以及x's 子目录。
例如,net/...扩展net并打包到其子目录中。


如果您将_test.go文件保存在子文件夹中,“ go test ./...”命令将能够提取它们。
但:

  • 您需要在导出的变量和函数(在测试中使用)前加上包的名称,以便测试文件能够访问包导出的内容。
  • 你不会访问非导出的内容。

话虽如此,我还是更喜欢将_test.go文件放在主源文件旁边:它更容易找到。

到这里,我们也就讲完了《子目录中的 Golang 测试》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

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