Как правильно установить DummyCache для тестирования в Django?

Я полагаюсь на свой кэш для интерфейса разработки. Но когда я запускаю тесты, они искажают мой кэш.

Меня удивило, как 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.

Есть идеи, как это исправить?

Я решил эту проблему, обратившись за помощью в другое место:

Проблема была в том, что я присваивал строку 'test' в CACHES.

Я изменил строку переопределения следующим образом:

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

И это устранило проблему.

Вернуться на верх