Jest 中打断点进行 debug

阅读时长 4 分钟读完

Jest 是一个由 Facebook 开发维护的 JavaScript 测试工具,常用于前端开发中对代码的自动化测试。在测试前端代码时,我们常常需要 debug 以帮助我们找到问题。本文将介绍如何在 Jest 中打断点进行 debug,以及如何在调试中使用 Jest。

在 Jest 中使用断点调试,我们需要使用 Node.js 中内置的 --inspect-brk 参数打开 Chrome 开发者工具。

打开 Chrome 开发者工具

在运行 Jest 命令时,传入 --inspect-brk 参数打开 Chrome 开发者工具。例如:

其中,./node_modules/.bin/jest 是 Jest 的执行命令路径。

此时,我们可以在 Chrome 中输入 chrome://inspect 进入开发者工具界面:

点击 “Open dedicated DevTools for Node” 进入 Node.js 调试环境:

在代码中设置断点

在代码中设置断点,我们需要使用 debugger 关键字。例如:

在上述代码中,我们使用 debugger 关键字在第 3 行设置了断点。

运行 Jest

现在我们可以运行 Jest 了。在运行 Jest 时,我们可以指定要运行的测试文件:

此时,程序会在第 3 行的 debugger 处暂停,我们在 Chrome 的调试工具中就可以便捷地进行调试了。

调试 Jest

在 Jest 运行过程中,我们可以在 Chrome 开发者工具中进行编译后代码的调试。

配置源代码映射

在源代码调试时,我们需要在 Chrome 开发者工具中为 Jest 配置源代码映射。配置步骤如下:

  • 打开 Chrome 开发者工具;
  • 点击左上角的 “Sources”;
  • 在左侧面板中选择 “Webpack”;
  • 在右侧面板中勾选 “Local Overrides”;
  • 在 “Local Overrides” 中点击 “Select Folder”;
  • 选择包含源代码的目录;
  • 选择目录后,点击右上角的 “Add folder to workspace”。

配置完映射后,我们就可以在源代码中进行调试了。

在源代码中设置断点

在源代码中设置断点与普通 JavaScript 代码相同。在需要打断点的位置上添加 debugger 关键字即可。

例如:

调试

在设置断点后,我们运行 Jest 后程序会在断点处停下来。此时,我们可以通过 Chrome 开发者工具中的调试工具查看变量、执行表达式、单步跳转等操作。

总结

在 Jest 中打断点进行 debug 可以帮助我们发现问题所在。通过本文介绍的方法,我们可以在 Jest 中打断点,并在 Chrome 开发者工具中进行断点调试。同时,本文也介绍了如何在调试中使用 Jest,希望对读者能有所帮助。

示例代码

-- -------------------- ---- -------
-- ---------------------
---------------- -- -- -
  ---------- ------ --- -- -- -
    -------- ------ -
      ----- - - --
      ---------
      ----- - - --
      ------ - - --
    -

    -----------------------
  ---
---

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64791522968c7c53b05269cc

纠错
反馈