Mam kod w aplikacji Flask, która używa JSON w żądaniu i mogę pobrać obiekt JSON w następujący sposób:
Request = request.get_json()
To działa dobrze, jednak próbuję tworzyć testy jednostkowe za pomocą modułu unittest Pythona i mam trudności ze znalezieniem sposobu na wysłanie JSON z żądaniem.
response=self.app.post('/test_function',
data=json.dumps(dict(foo = 'bar')))
To daje mi:
>>> request.get_data()
'{"foo": "bar"}'
>>> request.get_json()
None
Wydaje się, że Flask ma argument JSON, w którym można ustawić json = dict (foo = 'bar') w żądaniu postu, ale nie wiem, jak to zrobić z modułem unittest.
request.data
zawiera? Często, gdy parsowanie json kończy się niepowodzeniem z powodu nieprawidłowych danych wejściowych, kończy się niepowodzeniem i zwraca,None
więc nieprzetworzone dane wejściowe mogą nie być json.