python - 如何在单元测试中使用 JSON 发送请求

我在请求中使用 JSON 的 Flask 应用程序中有代码,我可以像这样获取 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') 在 post 请求中,但我不知道如何使用 unittest 模块来做到这一点。

最佳答案

把帖子改成

response=self.app.post('/test_function', 
                       data=json.dumps(dict(foo='bar')),
                       content_type='application/json')

修复它。

感谢用户 3012759。

https://stackoverflow.com/questions/28836893/

相关文章:

javascript - 未捕获的类型错误 : Cannot use 'in' operator t

json - 如何使用 curl 将 json 对象与数组一起放置

json - 如何使用 jq 从 JSON 中获取键名

c# - DataContractJsonSerializer 和 JavaScriptSerial

json - react-native 如何从本地JSON文件中获取数据?

jquery - 为什么找不到我的 json 文件?

c# - 解析值时遇到意外字符

json - 将 JSON 传递给 HTTP POST 请求

sql - 查询 JSON 类型内的数组元素

javascript - 以 JSON 格式发布数据