3

~/Applications/google_appengine に appengine SDK があります

Eclipse では、開発サーバーを実行するための外部ツールをセットアップしました。それは指摘されています:

~/Application/google_appengine/dev_appserver.py

また、Eclipse(Go Preferences)で、GOROOTが指すように設定しました

~/Application/google_appengine/goroot

現在、プロジェクトの単体テストを実行しようとしています。通常の go インストール (appengine ではなく) を使用すると、次のエラーが発生します。

../../context/context.go:4:2: cannot find package "appengine" in any of:
/usr/local/go/src/pkg/appengine (from $GOROOT)
/Users/home/src/go/foodbox/src/appengine (from $GOPATH)
../../context/data.go:4:2: cannot find package "appengine/datastore" in any of:
/usr/local/go/src/pkg/appengine/datastore (from $GOROOT)
/Users/home/src/go/foodbox/src/appengine/datastore (from $GOPATH)
../../context/context.go:5:2: cannot find package "appengine/user" in any of:
/usr/local/go/src/pkg/appengine/user (from $GOROOT)
/Users/home/src/go/foodbox/src/appengine/user (from $GOPATH)

appengine go を使用すると、次のようになります。

load cmd/cgo: package cmd/cgo: no Go source files in /Users/home/Application/google_appengine/goroot/src/cmd/cgo

デフォルトのインストールでは appengine パッケージが見つからないようです (これは驚くべきことではないと思います)。appengine go ツールを使用するときの問題が何であるかわかりません。これを機能させる方法を誰か教えてもらえますか?

ありがとう!

4

2 に答える 2

5

1.8.6 以降appengine/aetest、パッケージが SDK に含まれるようになったことに言及する価値があるかもしれません。ドキュメントを参照してください。

基本的に、icub3d/appenginetestingappengine.Contextと同様に、テストで使用できる を取得します。

ドキュメントからの例の引用:

import (
        "testing"

        "appengine/aetest"
)

func TestMyFunction(t *testing.T) {
        c, err := aetest.NewContext(nil)
        if err != nil {
                t.Fatal(err)
        }
        defer c.Close()

        // Run code and tests requiring the appengine.Context using c.
}
于 2013-11-04T13:19:08.653 に答える
0

ドキュメントを参照してください:

http://blog.golang.org/appengine-dec2013

「ローカルユニットテスト」というセクションをチェックしてください

あなたが探しているのはgoapp test、sdkに付属していると思います。

于 2014-10-03T18:47:09.050 に答える