Python 根据ini文件中的设置为pyramid web应用程序编写doctest

Python 根据ini文件中的设置为pyramid web应用程序编写doctest,python,pyramid,wsgi,webtest,Python,Pyramid,Wsgi,Webtest,我想使用该模块为我的pyramid web应用程序编写doctests。我这样试过: from my_webapp import main from webtest import TestApp app = TestApp(main({})) result = app.get('/') 当我的代码到达此行时,这会引发一个keyrorm(因为some.url未知): url = request.registry.settings['some.url'] some.url的值在我的应用程序的粘

我想使用该模块为我的pyramid web应用程序编写doctests。我这样试过:

from my_webapp import main
from webtest import TestApp

app = TestApp(main({}))
result = app.get('/')
当我的代码到达此行时,这会引发一个
keyrorm
(因为
some.url
未知):

url = request.registry.settings['some.url']

some.url
的值在我的应用程序的粘贴器ini文件中指定。运行测试代码时,有没有一种简单的方法可以使用我的
development.ini
?我还没有完全理解在金字塔启动期间如何/何时加载ini文件,因此在测试时很难确定在何处加载它。

main
通过ini文件的内容调用。从ini加载应用程序的简单方法是:

from pyramid.paster import get_app

app = get_app('testing.ini#main')
test_app = TestApp(app)
这要求“testing.ini”位于当前工作目录中,因此您可能需要对此进行调整。如果希望它与树中的某个点相对,可以使用:

import os.path
import some_module

here = os.path.dirname(some_module.__file__)
app = get_app(os.path.join(here, 'testing.ini'))