python - pytest-django 找不到 Django 项目

标签 python django pytest pytest-django

尝试使用django配置pytest,该项目已经有很多测试不是用pytest编写的(用unittest编写),但我试图让它们用pytest运行,这样我就可以编写pytest测试并让它与旧测试一起工作.

我知道 pytest-django 检查 django 项目的根目录中的 manage.py 文件,但该项目的 manage.py 文件不在根目录中,所以我想这就是我运行时抛出以下错误的原因然而,运行 pytest 并提供特定文件是可行的。如何指定manage.py在哪里?因为我在documentation中找不到这个

pytest-django could not find a Django project (no manage.py file could be found). 
You must explicitly add your Django project to the Python path to have it picked up.

最佳答案

就我而言,我在 tests 文件夹中创建了一个名为 pytest.ini 的配置文件,其中包含以下内容:

[pytest]
pythonpath = ../bitpin
DJANGO_SETTINGS_MODULE = bitpin.settings
python_files = tests.py test_*.py *_tests.py

存储库树:

bitpin-repo
├── bitpin
│   ├── bitpin
│   │   ├── asgi.py
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   ├── __init__.py
│   └── manage.py
├── tests
│   ├── test_models.py
│   ├── pytest.ini
│   └── conftest.py
└── setup.py
<小时/>

[注意]

  • 如果 tests/ 位于项目旁边,请将 bitpin 替换为 :
[pytest]
pythonpath = .

关于python - pytest-django 找不到 Django 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370312/

相关文章:

django - django中比萨的阿拉伯语问题

python - 让 pytest 在测试脚本的基本目录中查找

python - 带有数据库回滚的路由的 Flask 功能 pytest 测试

Python 模块导入——显式与隐式相对导入

Python-在脚本中多次重新分配对象变量-好的做法吗?

python - 将自定义损失添加到 eval_metric_ops

python - Django:使用 django.contrib.auth 进行 SAAS(用户、权限等)

django - 如何配置 Postgres 与 pytest 一起使用

python - 为什么 py.test 将我的 xfail 测试显示为已跳过?

python - Pandas 条件映射/填充/替换