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