首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytest忽略pytest.ini文件

Pytest忽略pytest.ini文件
EN

Stack Overflow用户
提问于 2020-01-09 10:18:43
回答 2查看 2.7K关注 0票数 7

我已经安装了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 (所有这些都是按照说明进行的),但是当您启动测试时,会出现一个错误。

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

发布于 2020-10-06 00:16:37

有同样的问题,有两个问题:

  1. settings.py有个窃听器。
  2. pytest-django安装在不同的环境中。

因此,确保您可以按hoefling推荐的方式导入settings.py,并确保pytest-django实际安装在您的环境中。

票数 8
EN

Stack Overflow用户

发布于 2021-02-23 19:06:13

因此,文档表示在选择设置时,优先级的顺序是

命令行环境变量pytest.ini文件。

然后进一步说,您可以使用addopts覆盖此优先级。在我的例子中,我指定了以下设置

代码语言:javascript
复制
DJANGO_SETTINGS_MODULE=bm.settings.ttest
addopts = --ds=bm.settings.ttest

而且它是有效的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59661745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档