Jest.js VS代码断点跳转到其他行

i2byvkas  于 2023-08-01  发布在  Jest
关注(0)|答案(6)|浏览(144)

由于我还没有解决我的另一个问题Randomly failing tests jest and supertest Node.js,我决定使用VS Code调试器。我原以为这会很简单,但在我在某行设置断点并运行调试器后,我发现断点图标在不同的地方,代码就停在那里。
我的launch.json文件:

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

字符串
前:

后:

知道为什么会这样吗

nukf8bse

nukf8bse1#

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

  • 停止调试模式
  • 做出改变
  • 设置断点
  • 再次启动调试模式。这对我很有效。
mitkmikd

mitkmikd2#

我用的是纯摩卡,所以可能有点不同。但我以前注意到过这一点,我会在then()中设置一个内联断点(cmd+shift+p - search内联断点)

anhgbhbe

anhgbhbe3#

.then()之后使用.catch(),根据我的经验,它不会变成.then(),因为调用了一些异常,并且没有调用catch。我曾使用Chai Mocha进行测试,遇到了同样的问题。尝试添加.catch(),它将显示您的API可能有故障并到达catch语句。

cetgtptt

cetgtptt4#

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

iyzzxitl

iyzzxitl5#

我也遇到了同样的问题,我已经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"
}

字符串

afdcj2ne

afdcj2ne6#

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

相关问题