1. ホーム
  2. python

[解決済み] ユニットテストでJSONを使ったリクエストを送信する方法

2022-10-03 17:13:09

質問

Flaskアプリケーションの中で、リクエストにJSONを使用するコードがあり、以下のようにJSONオブジェクトを取得することができます。

Request = request.get_json()

これはうまくいっているのですが、Pythonのunittestモジュールを使ってユニットテストを作ろうとしているのですが、リクエストと一緒にJSONを送る方法を見つけるのに苦労しています。

response=self.app.post('/test_function', 
                       data=json.dumps(dict(foo = 'bar')))

これで

>>> request.get_data()
'{"foo": "bar"}'
>>> request.get_json()
None

FlaskにはJSONの引数があり、postリクエスト内でjson=dict(foo='bar')と設定できるようですが、unittestモジュールでどうやればいいのかわかりません。

どのように解決するのですか?

投稿を

response=self.app.post('/test_function', 
                       data=json.dumps(dict(foo='bar')),
                       content_type='application/json')

が修正されました。

user3012759さんに感謝します。