我在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参数,您可以在其中发布请求中设置json = dict(foo =’bar’),但我不知道如何使用unittest模块执行此操作。
将帖子更改为
response=self.app.post('/test_function', data=json.dumps(dict(foo='bar')), content_type='application/json')
解决它。
感谢user3012759。