Saya memiliki kode dalam aplikasi Flask yang menggunakan JSON dalam permintaannya, dan saya bisa mendapatkan objek JSON seperti ini:
Request = request.get_json()
Ini telah berfungsi dengan baik, namun saya mencoba membuat pengujian unit menggunakan modul unittest Python dan saya mengalami kesulitan menemukan cara untuk mengirim JSON dengan permintaan tersebut.
response=self.app.post('/test_function',
data=json.dumps(dict(foo = 'bar')))
Ini memberi saya:
>>> request.get_data()
'{"foo": "bar"}'
>>> request.get_json()
None
Flask tampaknya memiliki argumen JSON di mana Anda dapat menyetel json = dict (foo = 'bar') di dalam permintaan posting, tetapi saya tidak tahu bagaimana melakukannya dengan modul unittest.
request.data
isinya? Seringkali ketika parsing json gagal karena input yang salah, gagal diam-diam dan kembaliNone
sehingga data input mentah mungkin bukan json.