从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,则在序列化数据时会收到错误消息。