pytest-django无法找到manage.py?如何通过setup.cfg配置路径
解决pytest-django找不到Django项目的问题
针对你的情况,完全可以通过修改setup.cfg来把src/目录添加到Python路径,这样在项目根目录运行pytest时,既能让pytest-django找到Django项目,也能正常执行integration_tests里的测试。
直接修改你的setup.cfg,在[tool:pytest]区块中添加pythonpath配置项:
[tool:pytest] addopts=--tb=short --strict -ra DJANGO_SETTINGS_MODULE = my_django_app.settings env = APP_ENV=testing USE_SQLITE_DB=True pythonpath = src
为什么这个配置能生效
pytest的pythonpath配置会自动把指定的目录加入到Python的sys.path搜索路径中,相当于你在运行pytest时手动设置PYTHONPATH=src pytest,但把这个配置固化到setup.cfg里,能让团队所有人都用统一的方式执行测试,不用每次手动设置环境变量。
验证方式
在项目根目录直接运行:
pytest
这时pytest应该能同时识别到src/里的Django项目,并且顺利执行integration_tests/tests.py中的集成测试。
如果你需要临时验证,也可以在根目录用环境变量的方式快速测试:
PYTHONPATH=src pytest
不过显然把配置写入setup.cfg是更持久、更方便的解决方案。
内容的提问来源于stack exchange,提问作者fildred13
相关产品推荐
相关产品推荐

