使用requests_mock和responses与Flask测试客户端一起使用的辅助工具。
项目描述
requests-mock-flask
requests-mock-flask有助于使用Flask、httpretty、responses或requests-mock测试Flask应用程序。
安装
需要Python 3.12+。
pip install requests-mock-flask
使用示例
import flask
import httpretty
import requests
import responses
import requests_mock
from requests_mock_flask import add_flask_app_to_mock
app = flask.Flask("test_app")
@app.route('/')
def _() -> str:
"""Return a simple message."""
return 'Hello, World!'
@responses.activate
def test_responses_decorator() -> None:
"""
It is possible to use the helper with a ``responses`` decorator.
"""
add_flask_app_to_mock(
mock_obj=responses,
flask_app=app,
base_url='http://www.example.com',
)
response = requests.get('http://www.example.com')
assert response.status_code == 200
assert response.text == 'Hello, World!'
def test_responses_context_manager() -> None:
"""
It is possible to use the helper with a ``responses`` context manager.
"""
with responses.RequestsMock(
assert_all_requests_are_fired=False,
) as resp_m:
add_flask_app_to_mock(
mock_obj=resp_m,
flask_app=app,
base_url='http://www.example.com',
)
response = requests.get('http://www.example.com')
assert response.status_code == 200
assert response.text == 'Hello, World!'
def test_requests_mock_context_manager() -> None:
"""
It is possible to use the helper with a ``requests_mock`` context
manager.
"""
with requests_mock.Mocker() as resp_m:
add_flask_app_to_mock(
mock_obj=resp_m,
flask_app=app,
base_url='http://www.example.com',
)
response = requests.get('http://www.example.com')
assert response.status_code == 200
assert response.text == 'Hello, World!'
def test_requests_mock_adapter() -> None:
"""
It is possible to use the helper with a ``requests_mock`` fixture.
"""
session = requests.Session()
adapter = requests_mock.Adapter()
session.mount('mock', adapter)
add_flask_app_to_mock(
mock_obj=adapter,
flask_app=app,
base_url='mock://www.example.com',
)
response = session.get('mock://www.example.com')
assert response.status_code == 200
assert response.text == 'Hello, World!'
def test_httpretty_context_manager() -> None:
"""
It is possible to use the helper with a ``httpretty`` context
manager.
"""
with httpretty.core.httprettized():
add_flask_app_to_mock(
mock_obj=httpretty,
flask_app=app,
base_url='http://www.example.com',
)
response = requests.get('http://www.example.com')
assert response.status_code == 200
assert response.text == 'Hello, World!'
使用场景
使用requests或其他Python API测试Flask应用程序。
创建一个测试套件,可以测试Flask应用程序以及实时Web应用程序,以制作经过验证的假数据。
测试一个调用您拥有源代码的Flask应用程序的服务。
完整文档
有关更多信息,包括如何贡献,请参阅完整文档。
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
requests_mock_flask-2024.8.30.1.tar.gz (23.3 kB 查看散列值)
构建分发
关闭
requests_mock_flask-2024.8.30.1.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1b750b835b07a395267e5440a4fbb88caa043c57c0bb785e1687b03c127347ce |
|
MD5 | 501032de4c7f46d6b3cdf7258cee9a5d |
|
BLAKE2b-256 | c4e2ff0a60d1b00728c8f66ece46c9f6461cf86abde0c157d415d13cb65c02f3 |
关闭
requests_mock_flask-2024.8.30.1-py2.py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 60534ef67ea01821a41f7da4d75b1338114814bd5a0bcb5f232a597df6945638 |
|
MD5 | d9dddc8103ea2e61c6d6ad6310d169de |
|
BLAKE2b-256 | 7c429d540b63544f9556626f69b0136eaec7e15d7f77cf603c5f09d913a9720b |