【发布时间】:2016-03-13 07:33:38
【问题描述】:
我正在寻找在使用本地文件使用 Go 进行测试时应该使用的最佳实践。
使用本地文件是指为了测试功能,应用程序需要一些本地文件,因为应用程序经常从这些文件中读取。
我不确定是否应该在使用 ioutil 包 tempdir 和 tempfile 函数运行测试之前自己编写临时文件,或者像这样创建一个测试文件夹;
testing/...test_files_here
main.go
main_test.go
然后从里面的内容读取
testing/...
【问题讨论】:
-
一个名为
testdata的文件夹通常用于此目的,因为它被go工具忽略(参见go help packages) -
啊,是的,我明白了。 “go 工具会忽略以“.”或“_”开头的目录和文件名,以及名为“testdata”的目录没有发现。谢谢
-
诚然,这是一种懒惰的方法,但我将我的 testdata 放在
*_test.go文件旁边:易于访问,易于查找,我不介意将它们放在身边。另一种选择是在创建 dist 之前使用//go:generate和 go-bindata。