Предупреждение о форматировании в модульном тесте при импорте настроенного приложения после загрузки настроек

В модульном тесте проекта 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):
        ...
Вернуться на верх