在pytest中模拟redis连接

时间:2020-02-02 17:59:54

标签: python redis pytest python-mock

我正在尝试使用import google google.search('brightonflyingseptember2012') 测试我的应用。该应用程序使用Redis存储一个变量,并且对该变量的更改将实时报告给与该应用程序连接的用户。

我想创建一个固定装置,它将修补我应用中的pytest构造函数以与在后台运行的本地Redis数据库连接。

我在Redis()中尝试过类似的操作:

conftest.py

@pytest.fixture(autouse=True) def redis_connection(): r_conn = redis.Redis('127.0.0.1', 6337) with mock.patch('app.redis_utils.redis_connect') as redis_connect_mock: redis_connect_mock.return_value = r_conn yield redis_connect_mock r_conn.flushdb() 内容:

app.redis_utils.redis_connect

但是,当我的应用尝试访问Redis数据库中的数据时(我在Redis实例上调用def redis_connect() -> Redis: return Redis(**settings.REDIS_SETTINGS) ),这将失败。

.get()

如何强制AssertionError: assert <MagicMock name='redis_connect.get()' id='139688062779600'> is None 函数返回此特定实例:redis_connect

0 个答案:

没有答案