webtest和sqlalchemy一起使用时Pyramid启动失败

Pyramid fails to start when webtest and sqlalchemy are used together

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

[测试日志]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

来自sqlaclhemy docs

The only required key is (assuming the default prefix) sqlalchemy.url

在您的 test_cities_page.py 文件中,您使用一个空字典调用 main,大概是为 **settings 解压。您需要将适当的设置添加到传递给函数的字典中,它应该 运行。 :)