如何在VSCode中使用unittest跨子目录测试Python项目?
解决VSCode中unittest无法识别测试用例及模块导入问题
方法一:匹配手动执行环境配置VSCode测试参数
- 打开VSCode设置(快捷键Ctrl+,),搜索Python: Test Args
- 在unittest的测试参数输入框中填入:
["discover", "..", "-p", "Test_*.py"] - 接着搜索Python: Test Working Directory,设置为
${workspaceFolder}/src
这样VSCode运行测试时的工作目录和你之前手动执行命令的目录完全一致,不用修改测试文件里的导入语句就能正常运行。
方法二:通过环境变量让Python识别模块路径
- 在项目根目录新建
.env文件,写入一行:PYTHONPATH=./src - 重启VSCode,Python解释器会自动把src目录加入模块搜索路径,测试用例里的
from PROJECT_NAME import exampleModule就能正常导入,同时VSCode的测试探索器也能正确扫描到tests目录下的测试用例。
方法三:配置调试用launch.json(如需调试测试)
- 打开调试面板,点击“创建launch.json文件”,选择Python -> Unittest模板
- 修改配置内容,确保
cwd和args与手动执行的命令一致,示例配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Unittest", "type": "python", "request": "launch", "module": "unittest", "args": ["discover", "..", "-p", "Test_*.py"], "cwd": "${workspaceFolder}/src", "justMyCode": false } ] }
内容的提问来源于stack exchange,提问作者Bryce P
相关产品推荐
相关产品推荐

