我想在Go中创建一个带有测试和示例的包作为子目录,以保持工作区的整洁。这有可能吗?
所有文档总是将测试代码与其他代码放在同一位置,这在某种程度上还是惯例上更好?
请注意,您 可以go test “递归” 运行:您需要 列出要测试的所有软件包 。
go test
如果您位于Go项目的根文件夹中,请键入:
go test ./...
“ ./...”符号在“ 命令 ” 的“ 软件包列表说明 ” 部分中进行了描述:go
./...
go
如果导入路径包含一个或多个...通配符,则通配符是一种模式,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。 这样的模式将扩展到GOPATH名称与模式匹配的树中找到的所有软件包目录。 作为特殊情况,x/...匹配x和x的子目录。 例如,net/...扩展到net并将其打包在其子目录中。
如果导入路径包含一个或多个...通配符,则通配符是一种模式,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。
...
这样的模式将扩展到GOPATH名称与模式匹配的树中找到的所有软件包目录。
GOPATH
作为特殊情况,x/...匹配x和x的子目录。 例如,net/...扩展到net并将其打包在其子目录中。
x/...
x
net/...
net
如果将_test.go文件保存在子文件夹中,则“ go test ./...”命令将能够提取它们。 但:
_test.go
话虽这么说,我仍然希望将_test.go文件保留在主源文件旁边:更容易找到。