Google App Engine データストア クエリのテスト
データストア クエリの単体テストを試行し、結果を検証しようとすると、開発者が問題に遭遇する可能性があります。この記事では、テスターが直面する一般的な問題について詳しく説明します。
テストでのクエリの失敗
データストア クエリをテストするとき、コードが正しく動作しているにもかかわらず失敗に直面することは珍しくありません。生産環境。テスト内のクエリは、正常に挿入されたデータの取得に失敗することがよくあります。
失敗の理由: 結果整合性
問題の核心は、データストアの「」の使用にあります。最終的な整合性。」これは、クエリの一貫性がすぐには得られず、最近のデータ変更の影響が表示されるまでに時間がかかる可能性があることを意味します。
データ シミュレータの問題
模倣のテストに使用されるデータストア シミュレータ本番環境で観察される遅延。新しいエンティティを挿入してすぐにクエリを実行すると、データがまだ完全に伝播されていないため、クエリには新しいエンティティは含まれません。
遅延または強整合性データストアで解決
この問題を解決するには、datastore.Put() 呼び出しと q.GetAll() 呼び出しの間に遅延を導入するか、StronglyConsistentDatastore を利用します。 オプション。強い一貫性で知られる祖先クエリも、この問題を解決します。
以上が本番環境で動作しているにもかかわらず、Google App Engine データストアのクエリ テストが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。