繁体   English   中英

如何在使用 Mocha 运行的 Eclipse 中调试 Javascript 单元测试?

[英]How do I Debug a Javascript Unit Test in Eclipse that is Run with Mocha?

我可以使用以下命令运行我的Mocha/Unit.js单元测试:

mocha fooTest.js

我想在 Eclipse 中设置断点并调试此单元测试,但我在 Eclipse 中只看到以下调试配置选项。

在此处输入图片说明

有没有办法在 Eclipse 的调试模式下执行 Mocha 单元测试?

我正在为 JavaScript 和 Web Developers Oxygen Release (4.7.0)使用Eclipse 也许我可以安装一个插件,或者创建一个 node.js 调试配置并使其与 mocha 一起运行? 或者有没有办法在 IntelliJ IDE 中做到这一点?

它是一个两步过程。 我假设您已经在 J​​avaScript 文件中放置了所需的断点(如果您使用的是 TypeScript,请将断点放置在已编译的 JavaScript 文件中)。

编辑:这也适用于较新版本的 eclipse。

  1. 运行你的 mocha 测试
    1. 创建新的外部工具配置
    2. 位置设置为您的mocha.cmd路径。 例如,如果您全局安装 mocha,这将是path/to/node/mocha.cmd (在 Windows 中)。 如果您在本地安装,那么它将在您的node_modules
    3. 工作目录设置为工作区中的项目路径。 例如${workspace_loc:/MyNodeProject}
    4. 参数中提供 mocha 套件路径和节点的检查器代理(又名调试)标志: inspect-brk inspect-brk标志很重要,因为它在用户代码开始之前中断,使您的 mocha 测试中断/停止,直到您附加调试器(第 2 步)。 例如dist/tests/_suite.js --inspect-brk (我使用的是 TypeSCript,所以我的测试在 dist 文件夹中)。
    5. 运行您的配置(单击运行按钮)。
    6. 您的 Eclipse 控制台应显示类似于以下内容的消息:
     Debugger listening on ws://127.0.0.1:9229/229a0421-cc41-4202-ab46-a392e86418e3 For help, see: https://nodejs.org/en/docs/inspector
  2. 启动 Wild Web Developers 检查器客户端。
    1. Debug Configurations下创建一个新的Running Node.js Application配置 菜单: Run -> Debug Configurations...
    2. 附加选项卡中,将地址端口设置为控制台中打印的值(从第一步开始)。 在这种情况下,地址:127.0.0.1(相当于本地主机)和端口:9229。这些是默认值,所以如果你没有改变你的节点/摩卡配置,你应该使用相同的。
    3. 启动调试会话(单击调试按钮)
    4. 您的 Eclipse 应该切换到调试透视图并且您的测试代码开始执行直到第一个断点。

进行更改后,由于您已经拥有运行配置,您只需要启动它们(顺序无关紧要,因为检查器客户端调试配置将“无限期”运行,等待远程应用程序连接)。

节点 10 的问题

根据这个问题,节点中存在一个错误,导致子进程的调试器失败。 由于 mocha 在子进程中运行测试,如果您使用的是 Node 10,您将无法调试您的实际测试代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM