以下是我的单元测试代码,用于模拟向本地存储的Google Cloud Function返回HTTP响应的HTTP请求
from unittest.mock import Mock
from cloud_functions import main
from Flask import jsonify
data = { ... }
headers = { ... }
req = Mock(get_json=Mock(return_value=data), args=data, headers=headers)
resp = main.my_function(req)
以下是我在尝试获取响应中的json数据时遇到的各种错误。
json_data = resp.json()
value = json_data['some_key']
错误
TypeError:“ dict”对象不可调用
value = resp['some_key']
错误
TypeError:“响应”对象不可下标
json_data = jsonify(resp)
value = json_data['some_key']
错误
TypeError:类型为Response的对象不可JSON序列化
答案 0 :(得分:0)
使用此代码解决。
json_data = resp.json
value = json_data['some_key']
现在一切正常。