Golang在子目录中进行testing
我想在Go中创build一个包,将包的testing和例子作为子目录来保持工作区的清洁。 这是可能的,如果是这样的话?
所有的文档总是把testing代码放在与其他代码相同的地方,这在某种程度上更好还是只是惯例?
谢谢。
 请注意,您可以运行“recursion地”运行go test :您需要列出所有要testing的软件包 。 
如果您是Go项目的根文件夹,请键入:
 go test ./... 
  “ 命令行 ”的“ 软件包列表说明 ”部分描述了 “。/ ./... ”符号: 
一个导入path是一个模式,如果它包含一个或多个“
...”通配符,每个通配符都可以匹配任何string,包括空string和包含斜杠的string。这种模式扩展到所有在
GOPATH树中find的名称与模式匹配的包目录。作为一个特例,
x/...匹配x以及x的子目录。
例如,net/...扩展到net并在其子目录中打包。
 如果你把你的_test.go文件保存在一个子文件夹中,那么' go test ./... _test.go go test ./... '命令将能够把它们提取出来。 
 但: 
- 您将需要在导出的variables和函数(在testing中使用)中添加您的软件包名称,以便testing文件能够访问软件包导出的内容。
 - 你不会访问非导出的内容。
 
 也就是说,我仍然希望将_test.go文件放在主源文件的旁边:它更容易find。 
 把你的testing放在一个名为file_test.go的文件的同一目录中,其中“file”是你正在testing的源代码文件的名称。 这是惯例,我发现它是我自己的经验最好的。 
 如果go test工具对你来说不够自动化,那么你可能会考虑GoConvey ,它有一个Web UI,它将自动更新和运行传统的Gotesting以及GoConveytesting(这些testing是基于行为的,而且更自我 – 比传统的Gotestinglogging)。 
我通常不做testing,但可以将文件分组到目录中,并使用导入
  import "./models"如果是一个级别 
  import "../models如果是一级和一级 
 例如,对于: 
 ./models/todo.go 
 ./test/todo_test.go 
 从todo_test.gotestingtodo.go ,你的导入todo_test.go将是 
 import "../models" 
请尝试下面的github存储库。
https://github.com/appleboy/golang-testing
您可以下载golangtesting脚本。
 $ curl -fsSL https://raw.githubusercontent.com/appleboy/golang-testing/master/coverage.sh /usr/local/bin/coverage $ chmod +x /usr/local/bin/coverage 
- Execute Shell如何/何时在Jenkins中将构build标记为失败?
 - 如何在java中创build空文件夹?
 - MANIFEST.in忽略“python setup.py install” – 没有安装数据文件?
 - 无法findVisual Studio 2013错误MS8020构build工具v140
 - NoClassDefFoundError – Eclipse和Android
 - 在多个同时上游工作成功之后,如何让Jenkins工作开始?
 - JavaScript的Web应用程序和Java服务器,build立所有在Maven或使用Grunt的Web应用程序?
 - 使用 – 系统而不是 – 我与CMake
 - 什么是一些很棒的在线数据库build模工具?