如何在测试中遵循金字塔重定向?

时间:2012-05-27 10:56:06

标签: python unit-testing pyramid

我的视图返回如下:

headers = remember(request, str(user.id))
return HTTPFound(location=request.route_url('home'), headers=headers)

我正在编写测试但是如何遵循上面代码中的重定向?我仍然得到HTTPFound对象以及它的response.request,它应该是发起响应的请求给我无。

以下是我的测试代码到目前为止所看到的内容:

request = testing.DummyRequest(
    post=MultiDict(email='me@gmail.com', password='random'))
response = login(request)

这里,响应是HTTPFound,但我如何按照重定向到家?

1 个答案:

答案 0 :(得分:4)

我意识到这不是DummyRequest

我建议进行功能测试,因为WebTest可以让您更轻松地进行管理。

在返回重定向的响应中,您可以调用follow来跟踪完整请求。

http://webtest.pythonpaste.org/en/latest/index.html

redirect_response = self.testapp.post(
    '/signup', params=post_params, status=302)
full_response = redirect_response.follow()