你如何调试Jest测试?

问题描述 投票:1回答:4

我找不到有关调试用Jest编写的单元测试的任何信息。

你如何调试Jest测试?

unit-testing debugging jestjs
4个回答
2
投票

对于寻求答案的任何人,您可以使用node-inspector调试jest。然而,这是一个非常缓慢的过程(调试单个测试需要2-5分钟),并且在实际使用中不是很有用。

我还没有找到更好的方法来调试Jest,但是我看到很多人正在做额外的工作来使jasmine或mocha与react组件一起工作。因此,在节点检查器实际可用之前,这可能是更可行的选择。


0
投票

node --debug-brk node_modules/.bin/jest

在您的项目目录中。它应该启动node进程暂停监听(通常在端口5858)调试器。 Visual Studio Code是node.js的一个漂亮的图形调试器的示例,可用于连接到侦听节点进程。


0
投票

您可以使用Chrome DevTools来调试Jest测试。

首先,在项目中启动Node调试器:

node --inspect-brk <path to jest.js> --runInBand <path to your test file>

例子:

  • 如果在本地安装Jest(Linux示例): node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand mymodule/test.js
  • 如果全局安装Jest(Windows示例): node --inspect-brk "C:\\Program Files\\nodejs\\node_modules\\jest\\bin\\jest.js" --runInBand mymodule\\test.js

然后,您可以打开Goog​​le Chrome浏览器,然后输入地址栏:

chrome://inspect

现在单击“Remote Target”下的inspect链接打开Chrome DevTools。

请注意,您可能需要将源代码文件夹添加到chrome-devtools中的工作区,以便能够设置断点。

现在您可以按F8开始调试。

[FYI]:

  • 我的节点版本:v10.11.0
  • 我是版本:23.6.0
  • 我的谷歌浏览器版本:71.0.3578.98

0
投票

这是我在VSCode中调试Jest的基本配置,添加到settings.json中的启动配置

"launch" : {
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Jest",
      "program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
      "args": [
          "-i"
      ],
       "skipFiles": [
        "<node_internals>/**/*.js", "node_modules",
      ]
    }
  ],
},
© www.soinside.com 2019 - 2024. All rights reserved.