【问题标题】:Using Google App Engine NDB and Fixture(s)使用 Google App Engine NDB 和 Fixture(s)
【发布时间】:2012-03-28 22:58:53
【问题描述】:

是否有关于如何将 Python fixture 模块与 Google App Engines New DB 一起使用的好信息?

好像有几个问题,比如:

  1. obj.delete() 拆解(ndbobj.key.delete()

  2. 如何设置嵌套的StructuredProperty 元素并不直观。

是否存在允许夹具模块与ndb 一起使用的解决方法,或者可以与ndb 一起使用的替代夹具系统?

谢谢。

【问题讨论】:

    标签: google-app-engine fixtures fixture app-engine-ndb


    【解决方案1】:

    我猜夹具的 GoogleDatastoreFixture 类会在 ext.db 模块级别拦截 Datastore 操作。由于 NDB 有不同的 API,因此需要更改。也许您可以贡献一个 GoogleNdbFixture 类。或者,也许正确的做法是在较低级别拦截一些东西——同样,你可能会与夹具的作者讨论一些事情,看看是否有办法可以提供帮助。

    【讨论】:

      【解决方案2】:

      您是否考虑过使用Testbed?它会适当地设置 GAE 服务存根,因此您可以针对数据存储(和其他服务)进行测试,并且它会在每次测试后删除所有数据存储写入。

      要为您的测试创建fixture,您只需直接将一些实体放入setUp() 方法的数据存储中。如果您愿意,您可以使用 NDB API 来放置固定装置和进行测试。

      【讨论】:

      • 谢谢@Maxim。我正在使用 Testbed,但通过 setUp() 创建夹具并不像 Fixtures 包那么优雅。我想同时使用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多