当我使用 --debug-brk 运行 mocha 并使用 node-inspector 打开 chrome 开发工具时,调试器会跳过我放入我的规范文件中的任何调试器语句。
只要我遵循在 mocha 库底部放置断点的技巧,我就可以让调试器语句在模块文件中工作。
有没有其他人看到这个问题?
当我使用 --debug-brk 运行 mocha 并使用 node-inspector 打开 chrome 开发工具时,调试器会跳过我放入我的规范文件中的任何调试器语句。
只要我遵循在 mocha 库底部放置断点的技巧,我就可以让调试器语句在模块文件中工作。
有没有其他人看到这个问题?
似乎每个人都应该看到与节点检查器版本 0.2.0beta4 相同的问题。
问题在于如何管理断点:
--debug-brk
并在第一行停止时,您的规范文件尚未加载,因此前端不会恢复您的断点。此问题的另一个解决方法是debugger;
在要触发断点的规范文件中添加语句。
编辑
请注意,如果您在it
回调中设置断点(即规范实现),则在 github 上的节点检查器问题中提到的解决方案将起作用,但它不会帮助您在构建规范描述的代码中设置断点(即顶级代码在您的规范文件和所有describe
回调中)。
例子:
var expect = require('chai').expect;
var calculator = require('./StringCalculator');
// CANNOT break on the line below
describe('add', function() {
// CANNOT break on the line below
it('returns 0 for empty string', function() {
// CAN break on the line below
expect(calculator.add('')).to.equal(0);
});
});
编辑2
这个问题在我的节点检查器分支中得到了解决:https ://github.com/strongloop/node-inspector 。在浏览器中加载节点检查器 UI 后,您可以立即在规范文件中的任何位置设置断点。
在此处查看我对相关问题的回答:https ://stackoverflow.com/a/29351654/3304034以获得足够体面的工作