Debugg ES6 Mocha使用node-debugger进行测试

时间:2016-05-01 19:54:56

标签: javascript debugging mocha node-inspector babel

我设置了ES6 Babel项目,一切正常。我使用Mocha运行我的测试。现在我希望能够在运行测试时运行调试器。这是我到目前为止所做的:

npm install -g node-inspector
npm install -g babel-register

创建了一个名为babel-hook.js的文件

require('babel/register')({
  stage: 1,
  sourceMap: 'inline',
});

现在我在一个控制台中运行:

node-inspector

打开Chrome

然后从项目根目录运行:

mocha --debug-brk test/my-test-file.js

然后我在测试中放了一个断点:

当我点击F8时,我收到以下错误:

/Users/h/Documents/code/js/test/my-test-file.js:1
(function (exports, require, module, __filename, __dirname) { import { assert } from 'chai';
                                                              ^^^^^^

SyntaxError: Unexpected token import
...

现在我错过了什么让这个工作?

1 个答案:

答案 0 :(得分:1)

你可能想要mocha的--compilers标志,它指定如何编译输入文件。例如,https://babeljs.io/docs/setup/#installation给出了示例

mocha --compilers js:babel-register

另外,尝试在没有--debug-brk的情况下运行测试,以帮助确定断点是否是问题,或者是否一般是mocha(此处描述的解决方案适用于后者)。

最后,如果这不起作用,您可能会有更好的结果非全局安装babel-register(没有-g标记到npm install),如文档中所示:{{ 3}}