VS Code断点跳转到其他行

时间:2018-04-22 10:21:31

标签: javascript node.js testing visual-studio-code jest

因为我还没有解决我的另一个问题Randomly failing tests jest and supertest Node.js 我决定使用VS代码调试器。我认为这很简单但是在我在某一行设置断点并运行调试器后,我在不同的地方找到了断点图标,我的代码停在那里。

我的launch.json文件:

      {
        "type": "node",
        "request": "launch",
        "name": "Jest Current File",
        "program": "${workspaceFolder}/node_modules/jest/bin/jest",
        "args": ["${relativeFile}"]
      }

在: enter image description here

在: enter image description here

知道为什么会这样吗?

6 个答案:

答案 0 :(得分:1)

我只是使用普通的摩卡咖啡,所以可能会有所不同。但我之前注意到了这一点,我会在 then() 内设置一个内联断点(cmd+shift+p - 搜索内联断点)

答案 1 :(得分:0)

在.then()之后使用.catch(),根据我的经验,由于某些异常被调用而不会调用catch,所以它不会.then。我曾使用chai mocha进行测试,但遇到了同样的问题。尝试添加.catch(),它将显示您的api可能有故障并到达catch语句。

答案 2 :(得分:0)

您可以尝试清理工作区并创建一个新的launch.json文件

答案 3 :(得分:0)

我遇到了同样的问题,我已经 updated 我的 VScode 并像这样更改了我的午餐文件:

{
    "type": "node",
    "request": "launch",
    "name": "Jest tests",
    "program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
    "args": ["--verbose", "-i", "--no-cache"],
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen"
}

答案 4 :(得分:0)

一般在一些IDE中,断点固定在行号上。因此,如果设置断点后该文件中的代码发生更改,则断点不会移动。因此,在进行更改时,

  • 停止调试模式
  • 进行更改
  • 设置断点
  • 再次启动调试模式。 这对我有用。

答案 5 :(得分:-1)

由于API请求引发了一些错误,执行不执行该行。使用catch块处理错误。在catch块中打印错误。您还可以在catch块中添加代码的断点,以检查有关错误的更多详细信息。