面对覆盖运行 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']