如何在VSCode中配置Mocha进行调试

时间:2020-07-07 23:56:02

标签: mocha vscode-debugger

我在Node中有一个简单的LinkedList实现。我想使用Mocha进行测试-只需执行不同的附加/删除操作即可。最重要的是,我希望能够按照Mocha测试中的要求逐步执行/调试我的链表。

这是我的launch.json:

{
  "version": "0.1.0",
  "configurations": [
    {
        "type": "node",
        "request": "launch",
        "protocol": "inspector",
        "name": "Mocha All",
        "windows":{
          "runtimeExecutable": "c:\\Users\\alern\\AppData\\Roaming\\npm\\_mocha.cmd"
        },
        "args": [
            "--colors",
            "${workspaceFolder}\\test\\test.js"
        ],
        "console": "integratedTerminal",
        "internalConsoleOptions": "neverOpen"
    }
  ]
}

当我在VSCode中的“ Mocha All”配置上按“运行”时, 全局安装的mocha.cmd开始运行,我在终端中看到以下内容:

cd 'd:\Projects\Algorithms\LinkedList'; & 'c:\Users\alern\AppData\Roaming\npm\_mocha.cmd' '--inspect-brk=30840' '--colors' 'D:\Projects\Algorithms\LinkedList\test\test.js'        
(node:21524) ExperimentalWarning: The ESM module loader is experimental.

以上说得通。

然后我看到:

  • 尽管我在Mocha脚本中设置了一些断点,但我所有的测试都简单地完成了---但它们却被忽略了。所以那没用。
  • 所有测试完成后(有的成功,有的没有成功),最后我会弹出一个对话框: “无法连接到运行时进程,在10000毫秒后超时-原因:无法连接到目标:连接ECONNREFUSED 127.0.0.1:30840”此错误感觉好像我的进程已完成运行并消失了,而VSCode或调试器正在尝试与其连接?

无论如何,我该如何调整才能使断点停止执行?谢谢

1 个答案:

答案 0 :(得分:0)

我可能要尝试的第一件事是将类型更改为“ pwa-node”。我认为mocha或VSCode最近进行了一些更改,使其成为必需。您可能还不想设置运行时可执行文件,而是要设置“程序”。通常,runtimeExecutable将是节点,并且如果在路径上,VSCode应该能够自动找到它。

如果其他所有方法都失败了,我还将尝试查看VSCode附带的默认配置,看看是否能提供任何线索。可以通过“添加配置...”按钮添加新配置来访问。 https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_launch-configurations-for-common-scenarios