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

Python 如何在测试中遵循金字塔重定向?,python,unit-testing,pyramid,Python,Unit Testing,Pyramid,我有一个视图返回如下: headers = remember(request, str(user.id)) return HTTPFound(location=request.route_url('home'), headers=headers) 我正在编写一个测试,但是如何遵循上面代码的重定向呢?我仍然得到HTTPFound对象和它的response.request,它应该是启动响应的请求,但没有给我任何消息 以下是到目前为止我的测试代码的外观: request = testing.Dumm

我有一个视图返回如下:

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,但我如何遵循重定向到home?

我意识到这不是使用
DummyRequest

我建议进行功能测试,因为
WebTest
使它更易于操作和管理

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


是的,我想这是最接近的。但问题是现在的响应是一个HTML字符串,对吗?我的意思是,如果视图返回一个包含一些对象的dict,我想检查它们存储了响应的哪个属性?最好是呈现的响应+视图返回的实际dict。
redirect_response = self.testapp.post(
    '/signup', params=post_params, status=302)
full_response = redirect_response.follow()