我确实有以下项目结构
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
文件(通过取消注释该行)设置设置时,效果相同。
看来我在这里错过了什么???