使用 Visual Studio Code 的 Mocha 断点

新手上路,请多包涵

是否可以使用 Visual Studio Code 向 Mocha 测试添加断点?

通常在调试代码时,需要配置launch.json,将程序属性设置为Javascript文件执行。不过,我不确定如何为 Mocha 做到这一点。

原文由 André Vermeulen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

您知道吗,您只需进入启动配置,将光标放在其他配置之后或之间,然后按 ctrl - 空格 即可自动生成当前有效的 mocha 配置?

这对我来说非常好。包括在断点处停止。 (我也有一个以前的,现在已经过时了,由于各种与设置相关的原因,它不再适用了。)

在此处输入图像描述

从 VSCode 1.21.1(2018 年 3 月)开始,这会产生:

 {
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Mocha (Test single file)",
      "type": "node",
      "request": "launch",
      "runtimeArgs": [
        "${workspaceRoot}/node_modules/.bin/mocha",
        "--inspect-brk",
        "${relativeFile}",
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "port": 9229
    }
}

附带说明: debug-brk 已被弃用(至少对于 Node >= 版本 8 的任何人)。

原文由 Frank Nocke 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您不想使用 --debug-brk +附加或声明全局 mocha 安装的绝对路径(如果您将 launch.json 置于版本控制之下并且在不同机器上有多个开发人员,这将停止),安装 mocha 作为开发依赖并将它的添加到你的 launch.json:

 {
  "name": "mocha",
  "type": "node",
  "request": "launch",
  "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
  "stopOnEntry": false,
  "args": ["--no-timeouts", "--colors"], //you can specify paths to specific tests here
  "cwd": "${workspaceRoot}",
  "runtimeExecutable": null,
  "env": {
    "NODE_ENV": "testing"
  }
}

只需按 F5 即可在测试中提供完整的调试支持。

--no-timeouts 确保您的测试不会因为在断点处停止而超时,并且 --colors 确保 Mocha 输出颜色,即使它没有检测到 VS Code 支持颜色。

原文由 felixfbecker 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题