加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 测试Flask响应是否为JSON

发布时间:2020-12-20 10:33:35 所属栏目:Python 来源:网络整理
导读:如何测试Flask视图生成的响应是否为 JSON? from flask import jsonify@app.route('/')def index(): return jsonify(message='hello world')c = app.app.test_client()assert c.get('/').status_code == 200# assert is json 解决方法 从Flask 1.0开始,respo
如何测试Flask视图生成的响应是否为 JSON?

from flask import jsonify

@app.route('/')
def index():
    return jsonify(message='hello world')

c = app.app.test_client()
assert c.get('/').status_code == 200
# assert is json

解决方法

从Flask 1.0开始,response.get_json()会将响应数据解析为JSON或引发错误.

response = c.get("/")
assert response.get_json()["message"] == "hello world"

jsonify将内容类型设置为application / json.此外,您可以尝试将响应数据解析为JSON.如果它无法解析,您的测试将失败.

from flask import json
assert response.content_type == 'application/json'
data = json.loads(response.get_data(as_text=True))
assert data['message'] == 'hello world'

通常情况下,这个测试本身没有意义.你知道它是JSON,因为jsonify没有错误地返回,并且jsonify已经被Flask测试了.如果它不是有效的JSON,则在序列化数据时会收到错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读