Django项目用pytest测试时遇REST_FRAMEWORK配置错误求助
解决Django+pytest测试时的Settings配置错误
错误原因
运行pytest时未正确加载Django的配置模块,导致无法访问REST_FRAMEWORK等配置项。
解决方案
1. 安装pytest-django依赖
确保已经安装pytest与Django集成的专用包:
pip install pytest-django
2. 配置pytest指定Django Settings
在项目根目录创建pytest.ini文件,填入以下内容(替换your_project_name为你的实际Django项目名称):
[pytest] DJANGO_SETTINGS_MODULE = your_project_name.settings python_files = tests.py test_*.py *_tests.py
pytest运行时会自动读取该配置,加载对应的Django settings。
3. 临时方案:通过环境变量指定(不推荐长期使用)
若不想创建配置文件,可在运行pytest时手动指定环境变量:
DJANGO_SETTINGS_MODULE=your_project_name.settings pytest
4. 检查测试用例的导入完整性
确保测试文件顶部导入了必要模块:
from django.test import TestCase from django.http import JsonResponse import re from datetime import date
额外提示
你的测试用例中setUp方法打印的"Test passed"会在测试开始前执行,若要验证测试通过,建议在测试方法内通过断言验证,避免混淆执行流程。
内容的提问来源于stack exchange,提问作者jessiepinkman
相关产品推荐
相关产品推荐

