我的项目结构看起来很像这样
project/
api/
api.go
config/
config.go
config.toml
tests/
api_test.go
main.go因此,每当我初始化配置包时,我都试图使用相对路径:config/config.toml读取配置文件。一旦我运行我的程序:go run main.go,它就能正常工作。
当我试图运行我的测试时,问题就出现了:go test project/tests。我的配置包找不到文件config/config.toml,因为当前的工作目录不是project/,而是project/tests/。
是否有从run和test访问配置文件的方便方法?
发布于 2015-09-02 14:40:11
最后,我已经完成了更改如何加载配置文件的行为。在此基础上,采用config填充init()方法进行加载。
相反,我创建了方法Load(path string),它根据传递的path变量执行配置文件的加载。
现在,我从main.go这样称呼它:
config.Load("config/") 像这样的api_test.go:
config.Load("../config/")这不是很好的解决方案,但在这种情况下,用户在运行测试时不需要指定任何附加参数。
https://stackoverflow.com/questions/32355314
复制相似问题