3

次のように返されるビューがあります。

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

テストを書いていますが、上記のコードからリダイレクトをたどるにはどうすればよいですか? 私はまだHTTPFoundオブジェクトを取得しており、応答を開始した要求であるはずのresponse.requestもNoneを返しています。

これまでのテストコードは次のとおりです。

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

ここでは、応答は HTTPFound ですが、ホームへのリダイレクトをたどるにはどうすればよいですか?

4

1 に答える 1

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()
于 2012-05-27T14:06:30.230 に答える