Go と Appengine のテスト ケース
開発者は、Appengine で Go プログラミング言語を使用するときに、ケースをテストする必要があることがよくあります。ただし、Go の標準テスト パッケージを使用する場合、テストの実行と精度の確保が困難になる可能性があります。この記事では、github.com/mzimmerman/appenginetesting を使用してこれらの問題を効果的に解決するための包括的なガイダンスを提供します。
github.com/mzimmerman/appenginetesting のインストール
まず、次の手順を実行してインストールする必要があります。 library:
テスト ケースの作成
appenginetesting のユニークな機能は、次の機能です。偽の App Engine コンテキストを作成します。これは、リクエストを処理する Python 開発サーバーを起動することで実現され、テストの実行時間が若干長くなります。
この偽のコンテキストを使用するには、テスト コードに次の行を含めるだけです。
import "github" .com/mzimmerman/appenginetesting"
次に、 c := appenginetesting.NewContext(nil) を使用して新しいコンテキストを作成します。このコンテキストは、通常の appengine.Context と同じように使用できます。
ただし、この手法はテスト ファイル内でのみ機能し、appengine.NewContext(r) を使用して作成されたコンテキストとは互換性がないことに注意することが重要です。
カスタム コンテキスト パッケージ
この制限を克服するために、この記事では、 appengine のコンテキスト パッケージを直接使用する代わりに、カスタム パッケージを使用してコンテキストをインポートします。これにより、運用コードに影響を与えることなく、テストでカスタム コンテキストを使用できるようになります。
このアプローチを実装するには、適切なビルド フラグを使用して、ビルド環境に応じてロードするファイルを指定します。
コンテキストを閉じる
偽のコンテキストを使用した後は、それを明示的に閉じて Python を終了することが重要ですプロセス。これは defer c.Close().
を使用して実行できます。追加の洞察と例については、提供されている GitHub コード スニペットを参照してください:
さらなる機能強化のために、2 つのフォークが推奨:
以上が「github.com/mzimmerman/appenginetesting」 は Go App Engine テストの課題をどのように解決できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。