有没有办法用google.appengine.ext.testbed
获得本地单元测试,以便像dev服务器那样自动生成索引?我试过以下似乎不起作用的方法:
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
初始化数据存储库v3_存根。似乎什么都没用。 最佳答案
必须使用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
。关于python - 使用App Engine单元测试自动生成索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24702001/