【问题标题】:How to correctly set DummyCache for testing in Django?如何正确设置 DummyCache 以在 Django 中进行测试?
【发布时间】:2021-11-29 06:17:12
【问题描述】:

我的开发界面依赖于我的缓存。但是当我运行测试时,它会扭曲我的缓存。

我很惊讶 Django 如何为测试创建一个新的数据库,但不会创建一个新的缓存,但那是另一回事。

我做了一些研究,发现我应该在我的 default 缓存旁边的设置中创建一个新的虚拟测试缓存:

'test': {
    'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
}

然后在我的测试课之前,添加@override_settings(CACHES='test')

但是,我收到一个错误:

django.core.cache.backends.base.InvalidCacheBackendError: The connection 'default' doesn't exist.

注意,这个错误是由不在我的测试类中的另一个函数引发的,但它在同一个 Django 应用程序中。

知道如何解决这个问题吗?

【问题讨论】:

    标签: python django testing django-testing django-cache


    【解决方案1】:

    我通过在别处寻求帮助解决了这个问题:

    问题是,我正在为 CACHES 分配一个字符串 'test'。

    我将覆盖行修改为:

    @override_settings(CACHES={'default':{'BACKEND': 'django.core.cache.backends.dummy.DummyCache',}})
    

    它解决了问题。

    【讨论】:

      猜你喜欢
      • 2017-06-30
      • 2018-01-21
      • 2019-09-29
      • 2016-02-15
      • 2020-01-06
      • 2015-09-03
      • 1970-01-01
      • 2011-03-11
      • 2012-06-20
      相关资源
      最近更新 更多