有没有办法让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。似乎没什么用。
答案 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
。