请求包中的模拟响应
requests-mock的Python项目详细描述
基本知识
requests中的所有内容最终都通过适配器来完成传输工作。 请求mock创建一个自定义适配器,允许您在调用某些uri时预定义响应。
然后提供了许多方法来使用适配器。
一个简单的例子:
>>>importrequests>>>importrequests_mock>>>session=requests.Session()>>>adapter=requests_mock.Adapter()>>>session.mount('mock',adapter)>>>adapter.register_uri('GET','mock://test.com',text='data')>>>resp=session.get('mock://test.com')>>>resp.status_code,resp.text(200,'data')
显然,让所有url都以mock://为前缀是没有用的,因此您可以使用requests_mock.mock来安装适配器。
作为上下文管理器:
>>>withrequests_mock.mock()asm:...m.get('http://test.com',text='data')...requests.get('http://test.com').text...'data'
或者作为一名装饰师:
>>>@requests_mock.mock()...deftest_func(m):...m.get('http://test.com',text='data')...returnrequests.get('http://test.com').text...>>>test_func()'data'
有关详细信息,请查看docs。
报告错误
在GitHub上执行开发和错误跟踪。
许可证
根据apache许可证2.0版(以下简称“许可证”)授权;您可以 除非符合许可证,否则不要使用此文件。你可以获得 在
https://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发的是按“原样”分发的,而不是 明示或默示的任何形式的保证或条件。见 管理权限和限制的特定语言的许可证 在许可证下。