node.js - Webstorm:调试用 ES6 编写的 Mocha 测试

标签 node.js mocha.js webstorm ecmascript-6

在使用 WebStorm 10 进行 Node.js 开发时,我无法在调试时单步执行测试用例(用 ES6 编写)。我猜转编译使测试文件不同步。想知道是否有人能够调试成功?

这是我的 test.js 文件

describe('TestFlow', function () {
    "use strict";

    it('Test Path', (done) => {
        console.log("Testing_1 happy path\n");
        console.log("Testing_2 happy path\n");
        done();
    });
});

我将 Mocha 选项配置为使用 --compilers js:babel/register。现在,当我尝试调试代码时,逐步执行的过程是不可预测的,而且它不起作用。 babel 编译扰乱了调试过程。

您能否告诉我是否有解决此问题的方法?我以为调试 ES6 代码是 WebStrom 10 中的一项功能,但我没有运气使用它

最佳答案

现在至少可以在 WebStorm 2017.1 中使用。 JetBrains 已标记 this issue as fixed

从终端:

> npm install --save-dev babel-core babel-preset-es2015

在菜单“运行/编辑配置...Mocha 运行/调试配置”下,输入此选项:

Extra Mocha options: --compilers js:babel-core/register

此外,还有一个 .babelrc 文件(或放入 package.json)

{
  "presets": [
    "es2015"
  ]
}

您现在应该能够运行和调试 ES6 单元测试 请参阅this article as well

关于node.js - Webstorm:调试用 ES6 编写的 Mocha 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743352/

相关文章:

javascript - 如何在 NodeJS 中获取 UTC 日期对象?

javascript - 改进我可怕的 switch 正则表达式匹配语句

mocha.js - 为什么should.js中的 "should.strictEqual"不起作用?

node.js - 如何使用 webpack url-loader 运行 mocha 测试?

mocha.js - 为什么在运行 mocha 时找不到我的测试文件?

intellij-idea - 在 WebStorm 中选择一个 sass 声明

无法识别 JavaScript (WebStorm) 全局变量

ajax - 处理 no 'Access-Control-Allow-Origin' - 客户端问题

node.js - 为什么 Node 需要缓存填满和泄漏

visual-studio-code - 如何在 VS Code 中自动缩进嵌套的 HTML 标签