提供对python请求的大型响应\u mock
我正在使用python请求访问一些API,最近我学习了用于模拟http响应进行测试的请求\u mock。 我使用的api的响应非常大提供对python请求的大型响应\u mock,python,django,unit-testing,python-requests,requests-mock,Python,Django,Unit Testing,Python Requests,Requests Mock,我正在使用python请求访问一些API,最近我学习了用于模拟http响应进行测试的请求\u mock。 我使用的api的响应非常大 adapter.register_uri('GET', 'http://api.gateway/payment/, text='VERY LARGE TEXT') 传递大响应文本的正确方式是什么?这并不是什么神奇的事情,除非你正在做流式处理,否则无论如何都会将所有数据加载到内存中 如果你真的担心内存(这是python,你可能不应该这样做),你可以随时按需从文件加
adapter.register_uri('GET', 'http://api.gateway/payment/, text='VERY LARGE TEXT')
传递大响应文本的正确方式是什么?这并不是什么神奇的事情,除非你正在做流式处理,否则无论如何都会将所有数据加载到内存中 如果你真的担心内存(这是python,你可能不应该这样做),你可以随时按需从文件加载,但我认为这更多的是关于你想如何构造测试,而不是什么请求mock可以帮助你的东西
import requests
import requests_mock
def fileLoader(filename):
def loader(req, context):
with open(filename, 'r') as f:
return f.read()
return loader
with requests_mock.mock() as m:
m.get('http://test.com', text=fileLoader('abc.txt'))
resp = requests.get('http://test.com')
assert resp.text.strip() == 'ABC'