使用节点调试器调试ES6 Mocha测试
Debugg ES6 Mocha tests with node-debugger
我已经建立了一个ES6-Babel项目,一切都很好。我用摩卡做测试。现在,我希望能够在运行测试的同时运行调试器。这就是我迄今为止所做的:
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
...
现在,我缺少什么来让它发挥作用???
您可能想要mocha的--compilers
标志,它指定如何编译输入文件。例如https://babeljs.io/docs/setup/#installation给出了的示例
mocha --compilers js:babel-register
此外,尝试在不使用--debug-brk
的情况下运行测试,以帮助隔离断点是否是问题所在,或者它是否是mocha(这里描述的解决方案是针对后者的)。
最后,如果这不起作用,您可能会在非全局安装babel-register
(没有-g
标志到npm install
)时获得更好的结果,如文档所示:https://babeljs.io/docs/usage/require/
相关文章:
- ES6构造函数返回基类的实例
- 如何在下面的ES6循环中获得前面的文本
- es6 相当于下划线查找位置
- 如何在Javascript/ES6中的Aurelia浏览器应用程序中使用AWS S3
- ES6生成器:.next()的输入值
- Mocha react本地路由器编译错误
- 简单的ES6承诺问题-交换解决和拒绝参数
- 映射数组ES6时考虑空值
- @@(“at at”)在ES6 JavaScript中是什么意思
- 如何在Mocha/Chai中测试JS原型(非模块)
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- 使用Ember-cli项目中的ES6库
- JShint-.jshintrc中的ES6有esversion,但仍收到警告(使用atom)
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 使用节点调试器调试ES6 Mocha测试
- ES6 Promises in Mocha
- 使用mocha、Nightmare.js进行测试,不使用ES6语法和yield
- Karma+Mocha+Browserify+ES6测试栈设置问题
- ES6/Mocha包含文件