Google app engine 使用单元测试保持index.yaml的更新

Google app engine 使用单元测试保持index.yaml的更新,google-app-engine,Google App Engine,到目前为止,当我更改代码时,我能够保持index.yaml更新的唯一方法是通过浏览器或使用TransparentProxy点击URL,应用程序通过dev_appserver提供服务 这太糟糕了 是否有一种方法可以在单元测试运行程序中引导appengine环境,以便可以运行用于更新index.yaml的任何进程,而不会产生单线程dev_appserver的开销 差异是显著的。我的testsuite(80%覆盖率)运行时间为2分钟,但不更新index.yaml,如果我使用TransparentPro

到目前为止,当我更改代码时,我能够保持index.yaml更新的唯一方法是通过浏览器或使用TransparentProxy点击URL,应用程序通过dev_appserver提供服务

这太糟糕了

是否有一种方法可以在单元测试运行程序中引导appengine环境,以便可以运行用于更新index.yaml的任何进程,而不会产生单线程dev_appserver的开销


差异是显著的。我的testsuite(80%覆盖率)运行时间为2分钟,但不更新index.yaml,如果我使用TransparentProxy运行同一套件以将请求转发到端口8080,则index.yaml会得到更新,但大约需要4小时。再说一次,这太糟糕了

您可以使用my Nose插件进行此操作,名为。它使用SDK中的内部IndexYamlUpdater类,因此它肯定比代理请求更好

尽管有了这些改进,但绝对没有必要一直启用它。我在部署之前使用它,并检查由新提交引起的索引配置更改


记住不要在测试本身中使用需要索引的查询,否则它们也将添加到配置文件中

约阿希姆。你是个救命恩人,这几个月来一直是我背后的痛。实际上我正在切换到py.test,所以我只是把你的插件的内容作为我安装/拆卸的一部分。非常感谢你,我希望我能投你更多的票。