创建金字塔请求进行测试,以便触发事件

我想测试一个金字塔视图,如下所示:


def index(request):

    data = request.some_custom_property.do_something()

    return {'some':data}

some_custom_property 通过这样的事件处理程序添加到请求中:


@subscriber(NewRequest)

    def prepare_event(event):

        event.request.set_property(

            create_some_custom_property,

            'some_custom_property',reify=True

        )

我的问题是:如果手动创建测试请求,则该事件未正确设置,因为未触发任何事件。因为真实事件处理程序更加复杂并且取决于配置设置,所以我不想在测试代码中重现该代码。我想尽可能多地使用金字塔基础结构。我从一个较早的问题中学到了如何从ini文件中设置真正的金字塔应用程序:


from webtest import TestApp

from pyramid.paster import get_app


app = get_app('testing.ini#main')

test_app = TestApp(app)

该test_app工作正常,但我只能拿回HTML输出(这是想法TestApp)。我想做的是index在app或的上下文中执行test_app,但是要在将结果index发送到渲染器之前取回它。


任何提示如何做到这一点?


慕尼黑8549860
浏览 148回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python