【发布时间】:2022-12-15 09:34:50
【问题描述】:
Pycharm version: 2022.2.3 (Professional Edition)
Framework: FastAPI
Tests: pytest 6.1.0
OS: macOS Monterey 12.4
有一些关于此的帖子和一些建议的解决方案,但据我所知,这主要归结为配置不当。这里也可能是这种情况,但以前的解决方案都没有奏效。
问题:我有一个带有可以从终端运行的测试的 FastAPI 项目:
poetry run dotenv run poetry run pytest tests -k name_of_some_test_method -v -s
测试运行良好,没有问题。
但是,当从 Pycharm 运行相同的测试时,它仍会运行测试,但无法从父目录中找到资源文件或固定装置。
它会导致 FileNotFound 或它无法找到夹具的错误。
示例 - 目录结构:
My_Project
- App_code - sources root
- admin
- api
- auth
- ....
- tests
- fixtures
- some_files
- JSON files
- datafile.json
- some_fixtures.py
- ...
- unit
- services
- test_service.py
当从依赖于 JSON 文件的 test_service.py 运行单个测试时,它无法找到它们。
FileNotFoundError: [Errno 2] No such file or directory: 'tests/fixtures/some_files/datafile.json'
如果测试依赖于带有不同错误消息的夹具,则同样会发生这种情况,表明未找到夹具。
我可以请任何人对此事有所了解吗?非常感谢您的帮助。 谢谢大家的时间和精力。
【问题讨论】:
标签: python testing path pycharm pytest