由于根路径已更改,go测试失败
我正在运行由于根路径已更改,go测试失败,go,filepath,Go,Filepath,我正在运行go test-v$(go list./…| grep-v/vendor/)以运行除vendor之外的所有测试。 我的文件结构是 myRepo api user_test.go config key.json main.go 我在config文件夹下有key.json文件,用于维护所有api密钥。 我正在使用加载key.json文件。除了运行测试外,其他一切都正常工作。当我运行go测试时,根路径正在更改为myRepo/api,我得到的错误是无法通过“根路径
go test-v$(go list./…| grep-v/vendor/)
以运行除vendor之外的所有测试。
我的文件结构是
myRepo
api
user_test.go
config
key.json
main.go
我在config文件夹下有key.json文件,用于维护所有api密钥。
我正在使用加载key.json文件。除了运行测试外,其他一切都正常工作。当我运行go测试时,根路径正在更改为myRepo/api,我得到的错误是无法通过“根路径”找到myRepo/api/config/key.json您是指您的工作目录吗?如果您依赖于给它一个相对路径,那么使用
filepath.Abs没有任何好处。测试文件需要在被测试的包中,或者您需要通过绝对路径开始搜索。是的,根路径在我上面使用的术语中表示工作目录。是的,我正在将测试文件放入我要测试的包中。我已经找了三天了。我没有找到这个问题的答案,在这里问。希望有人能帮助我。请创建一个,我们可以看到确切的问题。如果您的配置数据在包中,那么它将用于测试(go工具忽略名称testdata
是有原因的,因为它通常位于包本身中)。我用最少的代码创建了一个GitHub回购协议,以解决我所面临的问题。请帮助我,config/
不在正在查找它的包中,因此您不能依赖相对路径来查找它。您需要将测试数据放在正在测试的包中,或者在没有相对路径的情况下查找数据。所谓“根路径”是指您的工作目录吗?如果您依赖于给它一个相对路径,那么使用filepath.Abs没有任何好处。测试文件需要在被测试的包中,或者您需要通过绝对路径开始搜索。是的,根路径在我上面使用的术语中表示工作目录。是的,我正在将测试文件放入我要测试的包中。我已经找了三天了。我没有找到这个问题的答案,在这里问。希望有人能帮助我。请创建一个,我们可以看到确切的问题。如果您的配置数据在包中,那么它将用于测试(go工具忽略名称testdata
是有原因的,因为它通常位于包本身中)。我用最少的代码创建了一个GitHub回购协议,以解决我所面临的问题。请帮助我,config/
不在正在查找它的包中,因此您不能依赖相对路径来查找它。您需要将测试数据放在被测试的包中,或者在没有相对路径的情况下找到数据。