python3接口mock
时间: 2023-08-16 22:04:21 浏览: 161
在 Python 中,可以使用 `unittest.mock` 模块来进行接口的 Mock。下面是一个简单的例子:
假设我们有一个函数 `get_data_from_api()`,它会调用某个 API 来获取数据。我们要编写一个测试函数 `test_get_data()` 来测试这个函数的正确性,但是我们希望在测试中不实际调用 API,而是使用 Mock 来模拟 API 的返回结果。
```python
from unittest.mock import MagicMock
import pytest
def get_data_from_api():
# 调用某个 API 来获取数据
pass
def test_get_data():
# 使用 MagicMock 创建一个模拟对象
mock_data = {'result': 'mocked_data'}
mock_response = MagicMock()
mock_response.json.return_value = mock_data
# 将模拟对象传给 get_data_from_api() 函数
with patch('requests.get', return_value=mock_response):
data = get_data_from_api()
# 检查函数返回的结果是否正确
assert data == mock_data
```
在这个例子中,我们使用 `MagicMock` 来创建一个模拟对象,并用它来模拟 API 返回的结果。然后使用 `patch()` 函数来将模拟对象传给 `get_data_from_api()` 函数,在测试中就可以使用模拟数据来测试函数的正确性了。
阅读全文