当我在本地运行它时,应用程序正常工作: $ dev_appserver.py app.yaml
但是,当我尝试运行测试时,似乎没有设置ENV。
$ go test -v
skincare.go:6:5: cannot find package "appengine" in any of:
/usr/local/go/src/appengine (from $GOROOT)
/Users/bryan/go/src/appengine (from $GOPATH)
skincare.go:7:5: cannot find package "appengine/datastore" in any of:
/usr/local/go/src/appengine/datastore (from $GOROOT)
/Users/bryan/go/src/appengine/datastore (from $GOPATH)
skincare.go:8:5: cannot find package "appengine/user" in any of:
/usr/local/go/src/appengine/user (from $GOROOT)
/Users/bryan/go/src/appengine/user (from $GOPATH)
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bryan/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
答案 0 :(得分:3)
$GOPATH
不应包含路径的src
部分。因此,不应指向/Users/bryan/go/src/
,而应指向 /Users/bryan/go
。
答案 1 :(得分:0)
我怀疑您的测试失败了,因为您直接使用go test
调用它们而不是使用App Engine SDK的测试运行器goapp test
,它会在运行时将您链接到appengine包。