PyCharm Django test ModuleNotFoundError
Дерево проекта:
|___sb_website
| |___article
| | |__...py
| |___home
| | |__...py
| |___sb_website
| | |__dev_settings.py
| | |__...py
| |__manage.py
| |__...py
Мои настройки разработки проекта django - dev_settings.py
. Я хочу запускать свои тесты в соответствии с этими настройками.
Когда я использую конфигурацию Python в PyCharm с этими параметрами test --settings=sb_website.dev_settings
, путь скрипта ..\sb_website\manage.py
я получаю следующую Ошибку:
ERROR: sb_website.article (unittest.loader._FailedTest) ImportError: Failed to import test module: sb_website.article
.
То же самое для sb_website.home
и sb_website.sb_website
Если использовать Django Test configuration в PyCharm модули импортируются и тесты работают нормально.
Я хотел бы узнать основную причину моей проблемы, так как я сталкиваюсь с этим не в первый раз.
Что я пробовал:
изменил все импорты на явные, например, *.models
на home.models
Проблема не была связана с PyCharm, ответ на вопрос, почему была разница между Python configuration и Django Test configuration заключался в том, что Python configuration указывала непосредственно на тестовую цель. Конфигурация Django Test использует команду manage.py test
и, выполняя ее, пыталась импортировать тесты и нашла __init__.py
в корневой папке.
Удалив __ini__.py
в моей корневой папке sb_website
модули были найдены правильно и тесты прошли.
Ответ был найден здесь Running django tests fails