node.js - 在 WebStorm 中使用任意 NodeJS 单元测试框架进行调试

标签 node.js unit-testing debugging webstorm tap

我创建了一个使用 Test Anything Protocol (node-tap) 的 NodeJS 项目。我正在使用 WebStorm 8.0.1 IDE。我现在想在运行单元测试时进行步骤调试。由于 Tap 在 Node 的世界中似乎相当晦涩,当然,WebStorm 中内置的该框架没有运行/调试配置。

我能够通过使用以下设置配置 Node.js 运行配置来通过 IDE 运行测试:

Node interpreter: C:\Program Files\nodejs\node.exe
Node parameters: --debug-brk
Working directory: {my project directory}
JavaScript file: node_modules\tap\bin\tap.js
Application parameters: test/test-*.js

但是,当使用此配置进行调试时,我的断点没有被命中。此外,即使插入 debugger; 语句也不会触发中断。

有没有办法让我专门在 WebStorm 中运行 Tap 测试?如果没有,您为什么认为我的测试中的断点没有被命中?

最佳答案

在深入研究tap模块时,它似乎所做的只是在运行 Node 的子进程中启动每个测试文件;然后它只使用符合 Test Anywhere 协议(protocol)的输出。

所以对于我来说,调试时,我可以直接使用 Node.js 来调试运行我的测试 JS。这似乎工作正常。希望这会对不熟悉此测试框架的其他人有所帮助。

关于node.js - 在 WebStorm 中使用任意 NodeJS 单元测试框架进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23374411/

相关文章:

ios - Xcode 无法调试 View 框架

windows - 如何注册为 NT 内核事件的实时 ETW 使用者?

node.js - 如何在 NodeJS 中创建新的 Firebase Admin SDK 服务器以通过 LinkedIn 进行身份验证?

javascript - Gmail、nodemailer、OATH2 刷新 token 不起作用

node.js - 没有身份验证的 Firebase 初始化 - firebase.auth 不是函数

c++ - 适用于混合 Windows 应用程序的可嵌入单元测试框架

visual-studio - 为什么我在 Visual Studio Debug Memeory 窗口中只能在 0x70000 之前的任何地址看到 "??"?

javascript - Electron 存在而不会发出 render-process-gone 事件

java - 进入测试

javascript - 使用动态模板编写 Angular Directive(指令)测试