使用Google App Engine NDB和Fixture(s)

时间:2012-03-28 22:58:54

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

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

似乎存在一些问题,例如:

    拆解时的
  1. obj.delete()ndb obj.key.delete()}

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

  3. 是否有解决方法允许Fixture模块与ndb一起使用,或者使用可与ndb一起使用的替代灯具系统?

    谢谢。

2 个答案:

答案 0 :(得分:2)

我猜测fixture的GoogleDatastoreFixture类拦截了ext.db模块级别的数据存储区操作。由于NDB具有不同的API,因此需要更改。也许您可以贡献一个GoogleNdbFixture类。或许正确的做法是拦截较低级别的事物 - 再次,你可能会对灯具的作者采取一些措施,看看是否有办法可以提供帮助。

答案 1 :(得分:1)

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

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