django test override_settings на уровне класса перезаписывает настройки до того, как они могут быть инициализированы - PullRequest
0 голосов
/ 18 сентября 2018

Не уверен, что наткнулся на ошибку.Я использую @override_settings в своих тестах и ​​наблюдаю другое поведение, комментирующее это на моих тестовых классах по сравнению с методами тестирования.В частности, если я добавлю аннотацию к классу, при первом запуске через django.conf.LazySettings.__getattr__(), self._wrapped уже возвращает мое инициализированное переопределение, и поэтому self._setup() никогда не вызывается, а остальные мои настройки не загружаются.

например:

@override_settings(FOO="mock_val") #prevents regular settings
class FooTests(TestCase):

    @override_settings(FOO="mock_val") #allows regular settings
    test_foo(self):

Источник LazySettings: https://github.com/django/django/blob/master/django/conf/init.py

...