我正在为Go中的应用程序编写一些单元测试.但测试失败,因为它找不到配置文件.通常,二进制文件在路径下的工作目录中查找配置文件conf/*.conf.
我认为浏览到已经conf/运行的目录go test会解决它,但它仍然报告文件系统找不到指定的路径.
如何判断go test使用某个目录作为工作目录,以便实际执行测试?
我在osX上设置Go App引擎时遇到了麻烦.google-cloud-sdk路径应该在GOROOT还是GOPATH?
我把google-cloud-sdk放在/ usr/local中
看起来有源代码:goroot /
/usr/local/google-cloud-sdk/platform/google_appengine/goroot/
Run Code Online (Sandbox Code Playgroud)
去环境
GOPATH="/usr/local/google-cloud-sdk/platform/google_appengine/goroot"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
Run Code Online (Sandbox Code Playgroud)
$ go get
package google.golang.org/appengine: cannot download, /usr/local/google-cloud-sdk/platform/google_appengine/goroot is a GOROOT, not a GOPATH. For more details see: 'go help gopath'
package google.golang.org/appengine/datastore: cannot download, /usr/local/google-cloud-sdk/platform/google_appengine/goroot is a GOROOT, not a GOPATH. For more details see: 'go help gopath'
Run Code Online (Sandbox Code Playgroud)
当我尝试将PATH更改为include/src时:
GOPATH="/usr/local/google-cloud-sdk/platform/google_appengine/goroot/src"
Run Code Online (Sandbox Code Playgroud)
$ go get
package google.golang.org/appengine: mkdir /usr/local/google-cloud-sdk/platform/google_appengine/goroot/src/src: permission denied
package google.golang.org/appengine/datastore: cannot find package "google.golang.org/appengine/datastore" in any of:
/usr/local/go/src/google.golang.org/appengine/datastore (from $GOROOT)
/usr/local/google-cloud-sdk/platform/google_appengine/goroot/src/src/google.golang.org/appengine/datastore (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)
我将google-cloud-sdk的路径添加到GOROOT:
export GOROOT="/usr/local/go/:/usr/local/google-cloud-sdk/platform/google_appengine/goroot" …Run Code Online (Sandbox Code Playgroud)