python-使用App Engine单元测试自动生成索引

有没有一种方法可以使用google.appengine.ext.testbed获取本地单元测试,以与开发服务器一样自动生成索引?我尝试了以下似乎无效的方法:

from google.appengine.tools import dev_appserver_index

def setUp(self):
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_datastore_v3_stub(require_indexes=True)
    dev_appserver_index.SetupIndexes(None, root_directory)
    dev_appserver_index.IndexYamlUpdater(root_directory).UpdateIndexYaml()

我尝试将dev_appserver_index位添加到setUp()和tearDown()中.我尝试使用require_indexes = True和require_indexes = False初始化datastore_v3_stub.似乎没有任何作用.

解决方法:

您必须使用root_path选项调用init_datastore_v3_stub方法,如下所示:

def setUp(self):
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_datastore_v3_stub(root_path="your-root-path")

root_path是存在app.yaml文件的目录的路径.

如果将require_indexes选项设置为True,则会引发NeedIndexError.

上一篇:如何在MySQL中建立索引?


下一篇:python-按组计算熊猫的同比增长