测试 Google App Engine 数据存储查询
在尝试对数据存储查询进行单元测试时,开发人员在尝试验证结果时可能会遇到问题。本文深入探讨了测试人员面临的一个常见问题。
测试中的查询失败
测试数据存储查询时,尽管代码在测试中正常工作,但遇到失败的情况并不少见。生产环境。测试中的查询经常无法检索已成功插入的数据。
失败原因:最终一致性
问题的症结在于数据存储区使用“最终一致性。”这意味着查询不会立即一致,可能需要一些时间才能显示最近数据修改的效果。
数据模拟器问题
用于测试模拟的数据存储模拟器生产中观察到的延迟。插入新实体并立即运行查询时,查询将不包含新实体,因为数据尚未完全传播。
使用延迟或强一致性数据存储进行解析
要解决此问题,请在 datastore.Put() 和 q.GetAll() 调用之间引入延迟或使用 StronglyConcientDatastore 选项。以强一致性着称的祖先查询也解决了这个问题。
以上是尽管在生产中运行,为什么我的 Google App Engine 数据存储区查询测试仍会失败?的详细内容。更多信息请关注PHP中文网其他相关文章!