You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode中配置运行指定文件的单元测试?

VSCode 测试配置指南(基于 npm run test 项目)

一、launch.json vs tasks.json:该用哪个?

  • tasks.json:配置普通运行任务,比如执行脚本、跑测试,任务会出现在命令面板(Ctrl+Shift+P)的「运行任务」列表里,也能绑定快捷键,适合不需要调试的纯运行场景。
  • launch.json:配置调试会话,会显示在左侧「运行和调试」面板,支持断点调试、变量查看等调试功能,适合需要排查测试用例问题的场景。

如果只是跑测试不需要调试,用tasks.json足够;要调试测试就用launch.json,也可以两者都配置按需切换。

二、实现「点击按钮运行当前测试文件」

完全可行,两种配置方式都能实现:

方式1:用 tasks.json 配置纯运行任务

在项目的.vscode/tasks.json中添加以下配置:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run Current Test File",
      "type": "npm",
      "script": "test",
      "args": ["${file}"],
      "problemMatcher": [],
      "group": {
        "kind": "test",
        "isDefault": true
      },
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      }
    }
  ]
}
  • ${file}确实有效,它会指代当前编辑器打开的文件路径,在tasks和launch配置中都能使用。
  • 配置后可通过两种方式触发:
    1. 打开命令面板(Ctrl+Shift+P),输入「运行任务」,选择「Run Current Test File」执行。
    2. 在VSCode底部状态栏的「运行任务」按钮中找到该任务点击执行。

方式2:用 launch.json 配置调试任务

如果需要调试测试用例,在.vscode/launch.json中添加:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Debug Current Test File",
      "runtimeExecutable": "npm",
      "runtimeArgs": [
        "run",
        "test",
        "--",
        "${file}"
      ],
      "console": "integratedTerminal",
      "skipFiles": [
        "<node_internals>/**"
      ]
    }
  ]
}

配置后,打开目标测试文件,点击左侧「运行和调试」面板的绿色启动按钮,就能直接调试当前文件的测试用例。

三、关于 Ctrl+Shift+T 快捷键

VSCode 默认没有将Ctrl+Shift+T绑定到测试任务,你可以手动配置:

  1. 打开快捷键设置:按下Ctrl+K后再按Ctrl+S。
  2. 搜索「tasks.runTask」,点击对应条目后的「添加键绑定」。
  3. 输入快捷键Ctrl+Shift+T,在弹出的输入框中输入任务的label(比如上面配置的「Run Current Test File」),保存即可。
  4. 之后打开测试文件,按下Ctrl+Shift+T就能直接运行当前文件的测试。

另外,如果你的项目用了Jest、Mocha这类测试框架,安装对应的VSCode插件(如Jest插件)后,会在测试用例上方显示专属的运行/调试按钮,操作会更便捷。

内容的提问来源于stack exchange,提问作者SystemParadox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 10:48:08