PyCharm中如何单独运行单个pytest测试而非全部测试?
PyCharm 2022.3 仅运行单个pytest测试文件的解决方法
1. 修正运行配置的目标
打开「Run/Debug Configurations」,找到对应的pytest配置:
- 把Target选项改成「Script path」,手动指定
tests/test_func_a.py的路径(相对项目根或绝对路径均可) - 不要选择「Directory」或「Module」,这两类选项会触发整个目录/模块下的所有测试
2. 直接从测试文件内启动
在test_func_a.py的编辑页面:
- 点击文件顶部的绿色运行三角,选择「Run 'pytest in test_func_a.py'」
- 或者右键点击文件内容区域,选择「Run 'pytest in test_func_a.py'」,这种方式生成的配置默认仅绑定当前文件
3. 清空旧配置重新生成
如果之前的配置存在缓存残留:
- 打开「Run/Debug Configurations」,删除所有pytest相关的旧配置
- 再按照步骤2的方式从文件内重新启动,让PyCharm生成全新的专属配置
4. 检查pytest的全局参数
进入「Settings/Preferences > Tools > Python Integrated Tools」:
- 在「Testing」板块,确认pytest的「Additional Arguments」里没有添加
tests/这类全局路径参数,否则会强制运行整个目录的测试
5. 用命令行验证排查
在PyCharm终端直接执行:
pytest tests/test_func_a.py -v
如果命令行能正常只运行该文件,说明是PyCharm配置问题,回到步骤1-3重新设置;如果命令行也运行所有测试,检查项目中的pytest.ini、conftest.py或setup.cfg文件,看是否有类似以下的全局配置,有的话临时注释掉:
[pytest] testpaths = tests
内容的提问来源于stack exchange,提问作者3nh
相关产品推荐
相关产品推荐

