模拟requests包的响应
项目描述
简介
requests-mock 为您的测试代码提供构建块,以模拟测试代码中的HTTP requests 部分。有关更多信息,请参阅 文档。
基础
在 requests 中,所有内容最终都会通过适配器来完成传输工作。 requests-mock 创建了一个自定义的 adapter,允许您在调用某些URI时预定义响应。
提供了一些方法来获取使用的适配器。
一个简单的示例
>>> import requests
>>> import requests_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.Mocker 将适配器放到合适的位置。
作为一个上下文管理器
>>> with requests_mock.Mocker() as m:
... m.get('http://test.com', text='data')
... requests.get('http://test.com').text
...
'data'
作为一个装饰器
>>> @requests_mock.Mocker()
... def test_func(m):
... m.get('http://test.com', text='data')
... return requests.get('http://test.com').text
...
>>> test_func()
'data'
作为一个pytest fixture
>>> def test_simple(requests_mock):
... requests_mock.get('http://test.com', text='data')
... assert 'data' == requests.get('http://test.com').text
有关更多信息,请参阅 文档。
报告错误
开发和错误跟踪在 GitHub 上进行。
问题
在 StackOverflow 上有一个专门的 requests-mock 标签,您可以在那里提出使用问题。
许可证
根据Apache许可证版本2.0(“许可证”)授权;除非遵守许可证,否则不得使用此文件。您可以在以下位置获取许可证副本:
除非适用法律要求或书面同意,否则根据本许可证发布的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的权限和限制的具体语言,请参阅许可证。
项目详情
关闭
requests-mock-1.12.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401 |
|
MD5 | 84a910e415291bf1d986aa50c0c3eedb |
|
BLAKE2b-256 | 9232587625f91f9a0a3d84688bf9cfc4b2480a7e8ec327cefd0ff2ac891fd2cf |
关闭
requests-mock-1.12.1-py2.py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563 |
|
MD5 | 791372ec74430c20822fc42813dee018 |
|
BLAKE2b-256 | 97ec889fbc557727da0c34a33850950310240f2040f3b1955175fdb2b36a8910 |