首页 > 后端开发 > Golang > 尽管在生产中运行,为什么我的 Google App Engine 数据存储区查询测试仍会失败?

尽管在生产中运行,为什么我的 Google App Engine 数据存储区查询测试仍会失败?

Mary-Kate Olsen
发布: 2024-12-04 17:34:14
原创
226 人浏览过

Why Do My Google App Engine Datastore Query Tests Fail Despite Working in Production?

测试 Google App Engine 数据存储查询

在尝试对数据存储查询进行单元测试时,开发人员在尝试验证结果时可能会遇到问题。本文深入探讨了测试人员面临的一个常见问题。

测试中的查询失败

测试数据存储查询时,尽管代码在测试中正常工作,但遇到失败的情况并不少见。生产环境。测试中的查询经常无法检索已成功插入的数据。

失败原因:最终一致性

问题的症结在于数据存储区使用“最终一致性。”这意味着查询不会立即一致,可能需要一些时间才能显示最近数据修改的效果。

数据模拟器问题

用于测试模拟的数据存储模拟器生产中观察到的延迟。插入新实体并立即运行查询时,查询将不包含新实体,因为数据尚未完全传播。

使用延迟或强一致性数据存储进行解析

要解决此问题,请在 datastore.Put() 和 q.GetAll() 调用之间引入延迟或使用 StronglyConcientDatastore 选项。以强一致性着称的祖先查询也解决了这个问题。

以上是尽管在生产中运行,为什么我的 Google App Engine 数据存储区查询测试仍会失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板