Как правильно установить 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',}})
И это устранило проблему.