当webtest和sqlalchemy一起使用时,金字塔无法启动

时间:2015-11-17 16:05:23

标签: python sqlalchemy pyramid webtest

我正在尝试设置金字塔应用程序以同时使用webtest和sqlalchemy。 如果我注释掉SQLAlchemy代码,那么网络测试运行没有问题。

[测试日志] https://travis-ci.org/caffeinated-expert/frisbee/builds/91622436

Error
Traceback (most recent call last):
  File "frisbee/frisbee/tests/test_cities_page.py", line 18, in setUp
    app = main({})
  File "frisbee/frisbee/__init__.py", line 15, in main
    engine = engine_from_config(settings, 'sqlalchemy.')
  File "build/bdist.macosx-10.10-x86_64/egg/sqlalchemy/engine/__init__.py", line 426, in engine_from_config
    url = options.pop('url')
KeyError: 'url'

在我的主 init 文件中,如果我注释掉sqlalchemy引擎设置,那么测试运行正常,但我的项目需要sqlalchemy。

这是我第一次使用webtest,所以不确定我是否有其他冲突的配置。

[失败代码] https://github.com/caffeinated-expert/frisbee/commit/ea759015de755aca1d7bffca2845b72944572bed

1 个答案:

答案 0 :(得分:1)

来自sqlaclhemy docs

  

唯一需要的密钥是(假设默认前缀)sqlalchemy.url

test_cities_page.py文件中,您使用空字典调用main,可能是为**settings解压缩。您需要将相应的设置添加到您传递给该函数的字典中,并且它应该运行。 :)