【发布时间】:2020-07-08 09:07:33
【问题描述】:
我将 pytest-django 用于我的 django 应用程序的单元测试用例。我在根目录(与 manage.py 相同级别)中创建了 pytest.ini,配置如下:
[pytest]
DJANGO_SETTINGS_MDOULE = mysite.settings
python_files = tests.py test_*.py *_tests.py
addopts = --reuse-db
每当我在根目录中运行命令 pytest 时,都会出现以下错误:
ImportError while loading conftest '/Users/aakash/Desktop/experiments/repos/organonconnect/conftest.py'.
conftest.py:4: in <module>
from django.contrib.auth.models import User, Group
../venv/lib/python3.7/site-packages/django/contrib/auth/models.py:2: in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
../venv/lib/python3.7/site-packages/django/contrib/auth/base_user.py:47: in <module>
class AbstractBaseUser(models.Model):
../venv/lib/python3.7/site-packages/django/db/models/base.py:103: in __new__
app_config = apps.get_containing_app_config(module)
../venv/lib/python3.7/site-packages/django/apps/registry.py:252: in get_containing_app_config
self.check_apps_ready()
../venv/lib/python3.7/site-packages/django/apps/registry.py:134: in check_apps_ready
settings.INSTALLED_APPS
../venv/lib/python3.7/site-packages/django/conf/__init__.py:79: in __getattr__
self._setup(name)
../venv/lib/python3.7/site-packages/django/conf/__init__.py:64: in _setup
% (desc, ENVIRONMENT_VARIABLE))
E 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 --ds=mysite.settings 时,它都可以正常工作,但没有 pytest.ini 中提到的配置。
我创建了一个与 pytest.ini 相同级别的 conftest.py,并且我使用的是 Python 3.7.7、pytest-5.4.1、py-1.8.1、pluggy-0.13.1
我做错了什么?任何帮助,将不胜感激。提前致谢!
【问题讨论】:
标签: python django pytest-django