在使用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中的一个功能,但我没有运气
答案 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)。
--require @babel/register
--require babel-core/register