我的golang库中有一些测试帮助程序代码,我想在各种子包中进行测试时使用这些代码。但是,我遇到了一个障碍:
要使用
因此,我尝试为共享测试助手创建一个程序包:
现在它抱怨" / home / karl / Projects / outer / test中没有非测试Go文件"
我不想称其为
我该如何解决?
更新:我可以通过在
很正确,您不能从另一个包中导入测试代码,因此您的助手功能必须放入适当的代码文件中,而不是测试文件中。
如果不是从非测试代码中导入的,则不会将其内置到最终的二进制文件中。
作者倾向于调用软件包
https://golang.org/pkg/net/http/httptest/
https://godoc.org/go.uber.org/zap/zaptest
继问题8279之后,我已经看到添加了虚拟文件,例如在
作为一种解决方法,查看是否可以在此处提供帮助。
如上所述,在内部软件包(来自Go 1.4)中使用测试帮助程序代码是另一种选择,因为该项目中的任何客户端都无法访问该帮助程序。参见设计文件。
您可以看到它在典型的Go项目布局中使用。