J'ai du code dans une application Flask qui utilise des JSON dans la demande, et je peux obtenir l'objet JSON comme suit:
Request = request.get_json()
Cela fonctionne bien, mais j'essaie de créer des tests unitaires à l'aide du module unittest de Python et j'ai du mal à trouver un moyen d'envoyer un JSON avec la demande.
response=self.app.post('/test_function',
data=json.dumps(dict(foo = 'bar')))
Cela me donne:
>>> request.get_data()
'{"foo": "bar"}'
>>> request.get_json()
None
Flask semble avoir un argument JSON où vous pouvez définir json = dict (foo = 'bar') dans la demande de publication, mais je ne sais pas comment faire cela avec le module unittest.
request.data
contient le? Souvent, lorsque l'analyse json échoue en raison d'une mauvaise entrée, elle échoue silencieusement et renvoieNone
ainsi les données d'entrée brutes peuvent ne pas être json.