Это мой первый django проект, поэтому прошу прощения, если я не объясняю себя хорошо. Я пытаюсь написать несколько юнит-тестов.
Этот код работает как задумано:
from unittest import TestCase
class TestModel(TestCase):
def test_CalculatePercentage(self):
assert 1 == 1
Однако, когда я пытаюсь импортировать что-то из приложения, то есть:
from investor.models import Investor
Я получаю 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.
ошибку:
Error
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\unittest\case.py", line 60, in testPartExecutor
yield
File "C:\Program Files\Python38\lib\unittest\case.py", line 676, in run
self._callTestMethod(testMethod)
File "C:\Program Files\Python38\lib\unittest\case.py", line 633, in _callTestMethod
method()
File "C:\Program Files\Python38\lib\unittest\loader.py", line 34, in testFailure
raise self._exception
ImportError: Failed to import test module: tests
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\unittest\loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "C:\Program Files\Python38\lib\unittest\loader.py", line 377, in _get_module_from_name
__import__(name)
File "C:\Users\lbrusokas\Documents\Dev\website\website_env\src\webapp\investor\tests.py", line 1, in <module>
from investor.models import Investor
File "C:\Users\lbrusokas\Documents\Dev\website\website_env\src\webapp\investor\models.py", line 2, in <module>
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
File "C:\Program Files\Python38\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:\Program Files\Python38\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "C:\Program Files\Python38\lib\site-packages\django\db\models\base.py", line 87, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Program Files\Python38\lib\site-packages\django\apps\registry.py", line 249, in get_containing_app_config
self.check_apps_ready()
File "C:\Program Files\Python38\lib\site-packages\django\apps\registry.py", line 131, in check_apps_ready
settings.INSTALLED_APPS
File "C:\Program Files\Python38\lib\site-packages\django\conf\__init__.py", line 57, in __getattr__
self._setup(name)
File "C:\Program Files\Python38\lib\site-packages\django\conf\__init__.py", line 38, in _setup
raise ImproperlyConfigured(
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.
Это - это структура моего проекта.
Я видел много постов и предложений по этому поводу, например, добавление переменных окружения, вызов settings.setup (), настройка pycharm, включение поддержки django и т. д. c, но у меня ничего не получилось.
Какие еще варианты нужно исправить, или это происходит где-то еще?
Заранее спасибо!