使用app引擎单元测试自动生成索引

时间:2014-07-11 16:05:16

标签: python google-app-engine indexing python-unittest

有没有办法让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=Truerequire_indexes=False初始化datastore_v3_stub。似乎没什么用。

1 个答案:

答案 0 :(得分:3)

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

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文件的目录的路径。

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