Webstorm:调试用ES6编写的Mocha测试

时间:2015-06-09 21:41:51

标签: node.js mocha webstorm ecmascript-6

在使用WebStorm 10 for Node.js dev时,我无法在调试时逐步完成测试用例(用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选项配置为使用 - 编译器js:babel / register 。现在,当我尝试调试代码时,逐步执行过程是不可预测的,它只是不起作用。 babel编译正在搞乱调试过程。

如果有解决此问题的工作,请与我们联系。我认为调试ES6代码是WebStrom 10中的一个功能,但我没有运气

3 个答案:

答案 0 :(得分:2)

现在至少在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

答案 1 :(得分:1)

Webstorm调试器不能使用运行时babel编译。您需要首先使用带有源映射的babel编译ES6文件,然后将它们放在 dist 目录中。您可以使用this gulp任务来执行此操作。

在webstorm的调试mocha配置点工作目录中,创建了 dist 目录。还要将测试目录指向 dist 目录中的测试。在原始ES6测试文件中放置一个断点并启动调试会话。

答案 2 :(得分:0)

在WebStorm中,转到运行/编辑配置... /模板/摩卡/附加摩卡选项,然后插入以下内容(取决于babel的版本:https://git.io/vdcSr)。

通天塔7

--require @babel/register

通天塔6

--require babel-core/register