相关疑难解决方法(0)

Golang:测试和工作目录

我正在为Go中的应用程序编写一些单元测试.但测试失败,因为它找不到配置文件.通常,二进制文件在路径下的工作目录中查找配置文件conf/*.conf.

我认为浏览到已经conf/运行的目录go test会解决它,但它仍然报告文件系统找不到指定的路径.

如何判断go test使用某个目录作为工作目录,以便实际执行测试?

unit-testing working-directory go

38
推荐指数
7
解决办法
2万
查看次数

GO在哪里寻找google-cloud-sdk?GOPATH应该是什么?

我在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)

google-app-engine go

13
推荐指数
1
解决办法
1402
查看次数