使用在测试请求上下文(Flask)中传递的无效JSON进行测试

使用在测试请求上下文(Flask)中传递的无效JSON进行测试,json,python-3.x,flask,pytest,Json,Python 3.x,Flask,Pytest,出于测试目的,是否有方法在test\u request\u上下文中传递无效的JSON #test_example.py 从应用程序导入应用程序 从示例导入get_param,我对单元测试感兴趣的方法 进口烧瓶 坏的json=#一些坏的json def测试获取参数中止(应用程序): 使用app.test_request_上下文('/',data=flask.json.dumps(bad_json),content_type='application/json'): #基于带有错误json的请求断言

出于测试目的,是否有方法在
test\u request\u上下文中传递无效的JSON

#test_example.py
从应用程序导入应用程序
从示例导入get_param,我对单元测试感兴趣的方法
进口烧瓶
坏的json=#一些坏的json
def测试获取参数中止(应用程序):
使用app.test_request_上下文('/',data=flask.json.dumps(bad_json),content_type='application/json'):
#基于带有错误json的请求断言输出

json.dumps
永远不会生成无效的json文档(它会引发异常,从而破坏测试),但是手动创建无效的json应该不会有任何问题:

#test_example.py
从应用程序导入应用程序
从示例导入获取参数
def测试获取参数中止(应用程序):
使用app.test_request_上下文('/',data='abc',content_type='application/json'):
#基于带有错误json的请求断言输出

注意
“abc”
不是有效的JSON,而
“abc”
将是有效的JSON。

您当前的输出是什么?我明白了。您能否帮助我理解如何将有效的json作为字符串传递,即不使用
json.dumps
?例如,这个
{“a”:“stra”,“b”:strb”}
是一个有效的json,由
json.dumps
处理OK。json是一种文本格式,因此对于Python它是一个字符串。只需传递
data='{“a”:“stra”,“b”:strb”}
。这背后真的没有什么魔力。谢谢你的澄清——有那么一刻你在那里傻了:/