Go と Appengine を使用する場合、コードの機能を確認するためにテスト ケースを実装することが不可欠です。ただし、標準の Go テスト パッケージを使用してテストを実行することは、Appengine コンテキストへのアクセスに制限があるため、困難になる可能性があります。
前述したように、「go test hello.」を使用しても実行されません。テストケースが成功しました。問題は、テスト ファイル "http_test.go " から "http.go" ファイルを呼び出すことができないことにあります。
この問題に対処するには、" github.com/mzimmerman/appenginetesting」パッケージ。このサードパーティ ライブラリは、疑似 appengine.Context を提供し、シミュレートされた Appengine 環境に対してテストを実行できるようにします。
appenginetesting をインストールするには、次の手順に従います。
テストで appenginetesting を使用するには、パッケージをインポートしてモック appengine を作成します。Context:
import "github.com/mzimmerman/appenginetesting" ... c := appenginetesting.NewContext(nil)
その後、次を使用できます。実際の appengine.Context の操作と同様に、テスト コード内の「c」コンテキスト。ただし、Python プロセスが実行されたままにならないように、「defer c.Close()」を使用してコンテキストを手動で閉じることが重要です。
Appengine からの直接インポートを回避するには、次のことを考慮してください。ビルド環境に基づいてコンテキストを提供するカスタム パッケージを作成します。ビルド フラグを使用すると、Appengine またはテスト環境に読み込むコンテキスト実装を選択できます。このアプローチにより、ランタイムに関係なく、コンテキストにアクセスするための一貫したインターフェイスを維持できます。
以上がApp Engine 環境内で Go テスト ケースを効果的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。