Python 测试模拟一些方法而不是其他方法

标签 python unit-testing pytest moto

我如何模拟测试的某个部分而不是另一个部分。我想得到我的 url 请求的实际返回,但进一步使用模拟作为 dynamodb 部分

import requests
from moto import mock_dynamodb
from requests import Session


@mock_dynamodb
def test_this():

    session = requests.Session()
    response = session.get(
        url,
        headers=headers,
        auth=auth)

但是我收到了一个连接错误(如果我不 mock 我就不会得到)

ConnectionError: Connection refused: GET

../../.virtualenvs/pw/lib/python2.7/site-packages/moto/packages/responses/responses.py:250: ConnectionError

最佳答案

摩托捕获所有 http 请求,不仅是对 AWS 端点的请求 .我建议您使用 requests mock 来模拟特定请求或者干脆使用模拟库。

关于Python 测试模拟一些方法而不是其他方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293154/

相关文章:

使用 AWS RDS 的 Django `TransactionTestCase` 测试用例非常慢

python - pytest-django 找不到 Django 项目

python - 如何在 matplotlib 绘图循环中为标记和线条设置相同的颜色?

python - 如何使用GOOGLE作为pandas数据阅读器的数据源?

python - Numpy 数组,指定返回哪些元素

python - 如何从单元测试模拟终端 CTRL + C 事件?

python - 使用 Python 中的图形对话框询问用户密码的最简单方法?

javascript - Jstestdriver 设置和拆卸

postgresql - 如何将 pytest fixtures 与 Flask-SQLAlchemy 和 PostgreSQL 结合起来?

python - Py.test 反复循环测试