Предупреждение о форматировании в модульном тесте при импорте настроенного приложения после загрузки настроек
В модульном тесте проекта Django нам нужно настроить параметры следующим образом:
- получить
INSTALLED_APPS
для модулей, включаяourapp
, тестируемый модуль, и - для предотвращения следующей ошибки времени выполнения:
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Строка from ourapp.rest.views import the_customized_function_under_test
получает предупреждение о форматировании, говорящее
PEP 8: E402 module level import not at top of file
Однако строка импорта зависит от INSTALLED_APPS
строки settings
, поэтому она должна идти после действия конфигурации, описанного выше.
Интересно, есть ли элегантный способ решить эту проблему форматирования.
Пример исходного кода модульного теста:
import os
import django
from django.conf import settings
import unittest
from unittest import TestCase
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ourproject.settings")
django.setup()
from ourapp.rest.views import the_customized_function_under_test
class TestViews(TestCase):
def setUp(self):
...
def __run_get_test(self):
...