0

面对覆盖运行 pytest 的问题,我已经浏览了 SO 帖子并且无法解决这个问题,我相信我在这里遗漏了一些东西..

在用户是我项目的应用程序的情况下出现以下错误

ModuleNotFoundError: No module named 'users'

django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

我的 pytest.ini 文件内容

[pytest] DJANGO_SETTINGS_MODULE = cloudstack.settings
python_files = tests.py test_*.py *_test.py
addopts = -v --ignore=venv --cov=。--cov报告=html

我也尝试将 DJANGO_SETTINGS_MODULE 添加为环境变量,然后我得到了不同的错误cloudstack module is not found

我在执行这些测试时处于激活的环境中。

编辑 我查看了堆栈溢出的每一篇文章,以修复运行 pytest 时出现的错误,这些错误都没有帮助我解决这个问题。

Django 升级到 1.9 错误“AppRegistryNotReady:应用程序尚未加载。”

pytest 'ImportError: No module named YadaYadaYada' 的 PATH 问题

配置不当:您必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()

我按照 SO 帖子中的说明将所有内容对齐

$ type -a 覆盖范围是 /cygdrive/c/#Work#/Python/Django/Projects/cloudstacko/cvenv/bin/coverage

$ type -a pytest pytest 是 /cygdrive/c/#Work#/Python/Django/Projects/cloudstacko/cvenv/bin/pytest

$ type -a python python 是 /cygdrive/c/#Work#/Python/Django/Projects/cloudstacko/cvenv/bin/python

sys.path ['/cygdrive/c/#Work#/Python/Django/Projects/cloudstacko/cloudstacko', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr /lib/python3.6/lib-dynload', '/cygdrive/c/#Work#/Python/Django/Projects/cloudstacko/cvenv/lib/python3.6/site-packages']

4

1 回答 1

0

图书馆拯救了我的一天。

$ pip install pytest-django

于 2020-11-18T16:25:46.677 回答