伊斯坦布尔、isparta和ES6测试覆盖率
gulp-istanbul, isparta and ES6 test coverage
我正在构建一个REST API,其中有许多单元测试。
我现在需要一些关于它们的信息,比如代码覆盖率。
我读过很多关于Istanbul和Isparta的文章,以及它们运行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代码。我可能错过了什么。
所以我的问题是:
我如何使用Node 0.12.7对我的ES6代码(而不是ES5代码,它在每个类构造函数中都有很多生成的代码,比如try/catch)进行单元测试并应用测试覆盖率?
首先从npm安装"babel"。
然后在gullfile的开头添加require('babel/register');
。
相关文章:
- 模糊事件的Javascript测试
- Javascript Mocha测试-测试函数表达式中的函数表达式
- 使用json模式的mocha全覆盖测试
- 如何在Protractor测试中覆盖新的Date()
- 使用实习生在功能上测试元素是否可见(没有元素覆盖)
- 使用超级测试测试 koa 路由时,内容类型标头始终相同
- 使用磁带/ES6 单元测试测试 AMD 模块
- 用茉莉花测试测试ng变化
- 单元测试 - 测试文件计数和文件夹大小
- ES2015测试-模拟和代码覆盖
- 节点.js单元测试:测试fs模块抛出错误时的行为
- 有没有一个karma插件可以突出显示jasmine测试覆盖(或未覆盖)的Javascript代码
- 如何使用因果报应运行基本测试(测试)
- 使用Jasmine进行单元测试:测试没有看到beforeEach()中的代码's spyOn()
- 用Jasmine单元测试测试Angular模块
- 单元测试:测试内部承诺
- 功能测试覆盖报告,包括node-jscoverage, mocha和express
- visual studio 2015 -在MSBuild中集成javascript单元测试代码覆盖
- 使用Visual Studio和Team City,用单元AND集成测试测试javascript的正确方法是什么
- 超级测试测试快速中间件