我正在使用 gulp-istanbul 通过 Gulp 生成 JavaScript 单元测试覆盖率报告。有没有一种方法可以配置 Istanbul 以生成我的 gulp 流中所有 JS 文件的完整覆盖率报告,而不仅仅是测试用例所触及的文件。
我正在做一个有很多 JS 的项目,但没有单元测试,我们正在努力增加测试覆盖率。我想要一份覆盖率报告,它首先显示我们大多数文件的覆盖率为 0%,但随着时间的推移,覆盖率会逐渐增加。
gulp.task( 'test', function () {
gulp.src( [ my source glob ] )
.pipe( istanbul() )
.on( 'end', function () {
gulp.src( [ my test spec glob ] )
.pipe( mocha( {
reporter: 'spec'
} ) )
.pipe( istanbul.writeReports(
[ output location ]
) );
} );
} );
最佳答案
现在实际上要简单得多,您只需将 include Untested
添加到您的 istanbul()
调用即可。
gulp.task('test', function () {
return gulp.src('./assets/**/js/*.js')
// Right there
.pipe(istanbul({includeUntested: true}))
.on('finish', function () {
gulp.src('./assets/js/test/test.js')
.pipe(mocha({reporter: 'spec'}))
.pipe(istanbul.writeReports({
dir: './assets/unit-test-coverage',
reporters: [ 'lcov' ],
reportOpts: { dir: './assets/unit-test-coverage'}
}));
});
});
来源:https://github.com/SBoudrias/gulp-istanbul#includeuntested
关于javascript - Full Gulp Istanbul 尔报道报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702578/