pytest vscode 插件
时间: 2025-03-06 18:49:54 浏览: 48
### 安装和配置 Pytest 插件
为了在 Visual Studio Code 中顺利使用 pytest 进行单元测试,需要确保环境设置正确并安装必要的扩展工具。
#### 安装 Python 扩展
Visual Studio Code 的官方市场提供了由 Microsoft 维护的 Python 扩展,该扩展支持多种开发需求,包括调试、Linting 和测试等功能。通过命令面板 (`Ctrl+Shift+P`) 输入 `Extensions: Install Extensions` 并搜索 “Python”,点击安装按钮即可完成安装[^1]。
#### 配置 Pytest 测试框架
一旦 Python 扩展被激活,在工作区根目录创建 `.vscode/settings.json` 文件来指定项目特定的设置选项。对于 pytest 来说,重要的是定义测试收集模式以及如何调用 pytest 命令:
```json
{
"python.testing.pyTestEnabled": true,
"python.testing.unittestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.testRunner": "pytest",
"python.testing.pytestArgs": [
"${workspaceFolder}"
],
"python.testing.autoTestDiscoverOnSaveEnabled": true
}
```
上述 JSON 片段启用了 pytest 支持,并指定了当保存文件时自动发现新编写的测试案例的功能。
#### 解决路径问题
有时即使全局安装了 pytest,由于 PATH 环境变量未更新或虚拟环境中缺少相应包等原因可能导致无法识别命令。建议总是采用显式的 `-m` 参数形式启动模块化脚本,即 `python3 -m pytest` 或者更推荐的方式是在终端里直接利用 pipenv 创建隔离的工作空间后再执行测试指令[^2]。
#### 设置断言捕获行为
默认情况下,pytest 会捕捉所有的标准输出流(stdout/stderr),这可能会阻止某些打印语句显示出来。可以通过传递 `-s` 标志给 pytest 来禁用这种机制,允许所有输出立即呈现于控制台之上。此操作同样适用于解决 vscode 内部集成终端中遇到的问题——即虽然能够进入目标函数体内部但仍看不到预期的日志信息的情况。
```bash
python3 -m pytest -s
```
#### 调试与运行单个测试
除了批量运行整个项目的测试套件外,还可以右键点击任意带有 @pytest.mark.parametrize 注解的方法名旁边的空白处选择“Run Test In...”菜单项单独对该实例进行验证;亦或是选中某一段具体的 test_*.py 源码片段后按快捷键 F9 设定断点以便逐步跟踪逻辑流程。
阅读全文
相关推荐


















