Python 根据ini文件中的设置为pyramid web应用程序编写doctest
我想使用该模块为我的pyramid web应用程序编写doctests。我这样试过: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的值在我的应用程序的粘
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'))