首頁 >後端開發 >Golang >為什麼我的 Google App Engine 資料儲存區查詢無法檢索測試中新新增的實體?

為什麼我的 Google App Engine 資料儲存區查詢無法檢索測試中新新增的實體?

Patricia Arquette
Patricia Arquette原創
2024-12-06 13:20:11670瀏覽

Why Do My Google App Engine Datastore Queries Fail to Retrieve Newly Added Entities in Tests?

Google App Engine 資料儲存區- 持久性查詢

在測試環境中,透過查詢存取Google App Engine 資料儲存區中的資料可能具有挑戰性。儘管應用程式中的功能看似成功,但測試通常無法檢索預期的資料。

造成這種差異的一個潛在原因在於資料儲存查詢的延遲一致性。與祖先查詢不同,大多數查詢需要一些時間來反映新新增的實體。 「套用所有待處理事務並儲存資料儲存」行表示測試框架在新增和查詢實體後套用排隊事務。

因此,在實體建立後立即執行的查詢可能無法擷取這些事務待變更。為了解決這個問題,有幾個選項:

  • 引入延遲:在資料建立和後續查詢之間引入短暫的延遲(例如 100 毫秒)以實現一致性。
  • 使用強一致性資料儲存:啟用測試配置期間的 StronglyConcientDatastore 選項強制立即資料一致性。

這是使用延遲方法的測試程式碼的修改版本:

透過合併這些措施,測試可以準確反映資料儲存查詢的行為,並確保不會無意中建立重複實體。

以上是為什麼我的 Google App Engine 資料儲存區查詢無法檢索測試中新新增的實體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn