VS Code打开多项目根文件夹时如何单独运行各项目单元测试
解决方案
你可以通过以下两种配置方式实现需求,无需单独打开每个子项目文件夹:
方案1:修改当前单根工作区配置(无需调整现有打开方式)
直接在你当前打开的2021根目录下添加VS Code工作区配置即可:
- 在2021根目录下新建
.vscode文件夹,在文件夹内创建settings.json文件 - 写入以下配置内容:
{ // 启用pytest测试框架 "python.testing.pytestEnabled": true, // 配置测试搜索路径,指定各子项目的测试目录 "python.testing.pytestArgs": [ "project_1/tests", "project_2/tests", "project_3/tests" ], // 把各项目的src目录加入导入搜索路径,避免测试文件导入模块报错 "python.analysis.extraPaths": [ "project_1/src", "project_2/src", "project_3/src" ] }
- 保存配置后,重启VS Code测试面板(或者按
Ctrl+Shift+P/Cmd+Shift+P执行「Python: 重新发现测试」命令),即可看到所有子项目的测试用例,支持按目录筛选单独运行某一个项目的测试。
方案2:使用多根工作区(更适合独立项目隔离配置)
如果各子项目有独立的Python环境、依赖配置,用多根工作区的方式更灵活:
- 点击顶部菜单「文件」→「将文件夹添加到工作区」,依次把
project_1、project_2、project_3添加到当前工作区 - 点击「文件」→「将工作区另存为」,把工作区文件保存到2021根目录下,命名为
2021-projects.code-workspace - 后续直接打开这个工作区文件即可,每个子项目可以单独配置自己的
.vscode/settings.json、解释器、依赖规则,测试面板会自动按项目分组展示测试用例,支持一键运行单个项目的所有测试。
补充注意事项
- 每个子项目下的
pytest.ini建议增加pythonpath = src配置,保证pytest运行时能正确识别src目录下的模块:
[pytest] testpaths = tests pythonpath = src
- 如果需要为不同子项目指定不同的Python解释器,用方案2的多根工作区模式,单独选中对应子项目文件夹后再切换解释器即可。
内容的提问来源于stack exchange,提问作者Vega
相关产品推荐
相关产品推荐

