gulp-istanbul,isparta和ES6测试覆盖范围

时间:2016-01-08 09:18:38

标签: javascript node.js unit-testing istanbul isparta

我正在构建一个REST API,我在其中进行了许多单元测试。

我现在需要了解一些有关它们的信息,例如代码覆盖率。

我读过许多关于IstanbulIsparta的文章,以及他们运行ES6代码(this article)的测试覆盖率(使用mocha的帮助)的能力,所以我想使用它们。

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

我使用如下的gulp任务:

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)

但是,在尝试使用下面的工具时,我遇到了以下类型的错误:

(undefined)

这意味着伊斯坦布尔无法识别ES6代码。我可能在那里错过了一些东西。

所以我的问题是:

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

1 个答案:

答案 0 :(得分:0)

首先安装' babel'来自npm。

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