Javascript gulp伊斯坦布尔、伊斯帕塔和ES6测试覆盖率

Javascript gulp伊斯坦布尔、伊斯帕塔和ES6测试覆盖率,javascript,node.js,unit-testing,istanbul,isparta,Javascript,Node.js,Unit Testing,Istanbul,Isparta,我正在构建一个RESTAPI,其中有许多单元测试 我现在需要一些关于它们的信息,比如代码覆盖率 我读过很多关于和的文章,以及它们运行ES6代码()的测试覆盖率(在mocha的帮助下)的能力,所以我想使用它们 我正在使用NodeJS 0.12.7,我使用Babel transpiler将我的ES6代码转换为ES5 我使用以下吞咽任务: /* Unit test task */ gulp.task('pre-test', function() { return gulp.src(['src/ap

我正在构建一个RESTAPI,其中有许多单元测试

我现在需要一些关于它们的信息,比如代码覆盖率

我读过很多关于和的文章,以及它们运行ES6代码()的测试覆盖率(在mocha的帮助下)的能力,所以我想使用它们

我正在使用NodeJS 0.12.7,我使用Babel transpiler将我的ES6代码转换为ES5

我使用以下吞咽任务:

/* Unit test task */
gulp.task('pre-test', function() {
  return gulp.src(['src/app/**/*.js'])
    .pipe(plumber())
    .pipe(istanbul({
      instrumenter: isparta.Instrumenter,
      includeUntested: true
    }))
    .pipe(istanbul.hookRequire());
});

gulp.task('test:unit', ['pre-test'], function() {
  return gulp.src(['src/test/unit/**/*.js'])
    .pipe(mocha({
      reporter: 'spec'
    }))
    .pipe(istanbul.writeReports({}));
});

但是,在尝试使用以下工具时,我会出现以下错误:

C:\projects\nodejs\project\src\test\unit\core\TestConfReader.js:1
(function (exports, require, module, __filename, __dirname) { import ConfReade
                                                              ^^^^^^
SyntaxError: Unexpected reserved word
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
这意味着伊斯坦布尔无法识别ES6代码。我可能错过了什么

所以我的问题是:


如何使用节点0.12.7对我的ES6代码(而不是ES5代码进行单元测试并应用测试覆盖率,ES5代码中有许多生成的代码,如每个类构造函数中的try/catch)?

首先从npm安装“babel”


然后添加
require('babel/register')在gulpfile的开头。

首先从npm安装“babel”

然后添加
require('babel/register')在您的gulpfile开始处