Mam kodu w aplikacji Kolby który używa JSONs we wniosku, i mogę uzyskać obiektu JSON tak:Jak wysyłać żądania z JSONs w jednostce testuje
Request = request.get_json()
Zostało to działa dobrze, jednak Próbuję utworzyć testy jednostkowe przy użyciu modułu Unittest Pythona i mam trudności ze znalezieniem sposobu wysłania 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
Kolba wydaje się mieć argument, JSON, w którym można ustawić json = dict (foo = 'bar') w żądaniu post, ale nie wiem jak to zrobić z modułem unittest.
Co oznacza 'request.data' zawiera? Często, gdy analizowanie json nie powiedzie się z powodu błędnych danych wejściowych, nie działa w trybie cichym i zwraca 'Brak', więc surowe dane wejściowe mogą nie być json. –
>>> request.get_data() '{ "foo": "bar"}' >>> request.get_json() Żaden Nie jestem pewien, jak prośba kolby za działa, ale wydaje się, aby oddzielić dane i json, i nie mogę wymyślić, jak przesłać informacje do json, a nie dane, jeśli to ma jakiś sens. –
Myślę, że to nagłówki typu zawartości, spróbuj ustawić je na appliacation/json. również parametr siły jest pomocny, ale prawdopodobnie nie chcesz tam iść tylko po to, aby unittests przeminął, lepiej zmienić mime – user3012759