gpt4 book ai didi

django - 多个Django View 之间的fakeredis

转载 作者:行者123 更新时间:2023-12-03 06:44:50 24 4
gpt4 key购买 nike

我有一个涉及多个Django View 的测试

似乎不是在多个 View 之间共享fakeredis
我尝试运行以下代码:

import fakeredis
from testfixtures import Replacer


class TestWithFakeRedis(TestCase):
def setup_redis(self, test_func):
fake_redis = fakeredis.FakeStrictRedis()
with Replacer() as replace:
replace('app1.views.redis_connection', fake_redis)
replace("app2.views.redis_connection", fake_redis)
replace("app2.views.redis_connection", fake_redis)
test_func(fake_redis)

def test_something(self):
def test_func(redis_connection):
# some testing coded here
pass
self.setup_redis(test_func)

fakeredis无法在多个 View 之间传递,这是我需要的东西

提前致谢,

纳达夫

最佳答案

我的解决方案涉及使用unittest.mock.patch:

import fakeredis
fake_redis = fakeredis.FakeRedis()

@patch("app_name1.views.redis_connection", fake_redis)
@patch("app_name2.views.redis_connection", fake_redis)
@patch("app_name3.views.redis_connection", fake_redis)
class TestSomethingWithRedis(TestCase):
pass

如果您想在测试中检查查询
使用fake_redis

关于django - 多个Django View 之间的fakeredis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62292568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com