我已经安装了pytest-django == 2.9.1,我按照说明开始设置一个测试环境。https://pytest-django.readthedocs.io/en/latest/tutorial.html#step-2-point-pytest-to-your-django-settings
在第二步中,在项目的根目录中,我创建了一个pytest.ini文件并在那里添加了DJANGO_SETTINGS_MODULE (所有这些都是按照说明进行的),但是当您启动测试时,会出现一个错误。
django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.但是DJANGO_SETTINGS_MODULE是在pytest.ini中定义的!我尝试将pytest.ini放在不同的目录中,但是结果总是一样的。我试着用一个参数-ds运行,但是结果仍然是一样的。你能告诉我为什么会这样吗?
UPD
嗯..。我从文件头中删除了pytest,并得到了一个错误--“没有定义的节头”--文件似乎没有被忽略,但是DJANGO_SETTINGS_MODULE仍然没有导出。
我尝试将它分别添加到环境变量中,并在启动时收到了一个错误。
导出DJANGO_SETTINGS_MODULE=project.settings.test_settings 吡喃 ImportError:无法导入设置“project.settings.test_settings”(是在sys.path上吗?设置文件中是否存在导入错误?):没有名为project.settings.test_settings的模块。
但是在启动python manage.py runserver
发布于 2020-10-06 00:16:37
有同样的问题,有两个问题:
因此,确保您可以按hoefling推荐的方式导入settings.py,并确保pytest-django实际安装在您的环境中。
发布于 2021-02-23 19:06:13
因此,文档表示在选择设置时,优先级的顺序是
命令行环境变量pytest.ini文件。
然后进一步说,您可以使用addopts覆盖此优先级。在我的例子中,我指定了以下设置
DJANGO_SETTINGS_MODULE=bm.settings.ttest
addopts = --ds=bm.settings.ttest而且它是有效的。
https://stackoverflow.com/questions/59661745
复制相似问题