首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个django视图之间伪造

在多个django视图之间伪造
EN

Stack Overflow用户
提问于 2020-06-09 22:00:19
回答 1查看 195关注 0票数 2

我有一个涉及多个Django视图的测试

在我尝试运行以下代码的多个视图之间似乎没有共享伪造代码:

代码语言:javascript
复制
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)

假象不能在多个视图之间传递,这是我需要的东西

提前谢谢你,

纳达夫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-10 06:54:28

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

代码语言:javascript
复制
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

如果要检查测试中的查询,请使用雷迪斯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62292568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档