我的视图返回如下:
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,但我如何按照重定向到家?
答案 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()