У меня есть следующая структура проекта
base
__init.py
settings
__init__.py
settings.py
tests
pytest.ini
test_module.py
Мой pytest.ini
выглядит так:
[pytest]
#DJANGO_SETTINGS_MODULE =base.settings.settings
Мой test_module.py
выглядит так:
def test_django():
from base.settings import settings as base_settings
from django.conf import settings as django_settings
assert 3==5
Когда я сейчас бегу:
py.test
он запустит импорт без проблем и выдаст ошибку assert 3==5
(как и ожидалось). Это говорит мне, что база находится на sys.path
и что base.settings.settings
можно импортировать.
Теперь я меняю test_module.py
на:
def test_django():
from base.settings import settings as base_settings
from django.conf import settings as django_settings
print django_settings.xxx
assert 3==5
Когда я сейчас бегу:
py.test --ds=base.settings.settings
Я получаю сообщение об ошибке:
ОШИБКА: Не удалось импортировать настройки «base.settings.settings» (находится ли он в sys.path?): Нет модуля с именем base.settings.settings.
Тот же эффект, когда задаю настройки не через командную строку, а через файл pytest.ini
(раскомментировав строку).
Кажется, я что-то пропустил???