テスト駆動開発を使用して、アプリ エンジンで Python アプリケーションを開発しています。私が作成したテストの 1 つは、ローカル サーバーに対して 2 つの HTTP 要求を行います (アプリケーションの通常の動作をシミュレートします)。最初のリクエストはデータベース エンティティを生成し、サーバー上で割り当てた ID を返します。2 番目のリクエストは取得した ID を他のデータと共に送信して、最初のレコードを更新します。私の問題は、2 番目の要求で --high_replication (高レプリケーション データストアのシミュレーション) を使用してサーバーを実行しようとすると、サーバーがまだデータストアで ID を見つけられないことです。( --high_replication がなければ動作します)。各リクエスト間にスリープを追加することで、これを回避する方法を見つけましたが、もっと良い方法があると確信しています。
情報やヘルプは非常に感謝しています。
より多くの情報を提供するために、これはテストの一部です:
response = self.sendPing()
response = self.updatePing(response['response'])
self.assertEquals(response['response'], 'OK')
これに対して私が見つけた回避策は次のとおりです。
response = self.sendPing()
time.sleep(1)
response = self.updatePing(response['response'])
self.assertEquals(response['response'], 'OK')
リクエストの間に1秒間スリープすると、良い結果が得られます
コドコッド