30

から特定の情報を取得する特定のビューをテストする必要がありrequest.argsます。

ビュー内の多くのものがリクエストオブジェクトを使用しているため、これをモックすることはできません。私が考えることができる唯一の代替手段は、手動で設定することrequest.argsです。

私はtest_request_context()、例えば、でそれを行うことができます:

with self.app.test_request_context() as req:
    req.request.args = {'code': 'mocked access token'}
    MyView()

このビュー内のリクエストには、設定した引数が含まれます。ただし、ビューを初期化するだけでなく、ビューを呼び出す必要があるため、これを使用します。

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

4

1 に答える 1