私はrequest.argsから特定の情報を取得する特定のビューをテストする必要があります。Flask test_clientでリクエストargsを設定するには?
ビュー内の多くのものがリクエストオブジェクトを使用しているので、私はこれを嘲笑することはできません。 私が考えることのできる唯一の方法は、request.argsを手動で設定することです。
with self.app.test_request_context() as req:
req.request.args = {'code': 'mocked access token'}
MyView()
は今、このビュー内の要求は私が設定した引数を持つことになります。私は、彼は)(test_request_contextで、例えばそれを行うことができます
。 私は私の見解を呼び出す必要がありますしかし、それを初期化するので、私はこれを使用しない:
with self.app.test_client() as c:
resp = c.get('/myview')
しかし、私は、このように、要求の引数を操作する方法がわかりません。
私はこれを試してみました:
with self.app.test_client() as c:
with self.app.test_request_context() as req:
req.request.args = {'code': 'mocked access token'}
resp = c.get('/myview')
が、これはrequest.argsを設定しません。
'request.args'を' dict'に設定することは正しくないことに注意してください。実際には 'MultiDict'です。 – davidism
はい、私のビューの 'request.args'との私の唯一のやり取りは 'request.args.get(' foobar ')です。言い換えれば、ImmutableMultiDictの機能は完全に無関係です。それが問題であっても、私はそれをどのように設定するのか分かりません。 –