问题描述
我正在使用 gulp-istanbul 通过 Gulp 生成 JavaScript 单元测试覆盖率报告.有没有办法配置 Istanbul 以生成我的 gulp 流中所有 JS 文件的完整覆盖率报告,而不仅仅是测试用例涉及的文件.
I am using gulp-istanbul to generate JavaScript unit test coverage reports through Gulp. Is there a way to configure Istanbul to generate a full coverage report of all the JS files in my gulp stream, and not just the files touched by a test case.
我正在做一个有很多 JS,但没有单元测试的项目,我们正在努力增加测试覆盖率.我想要一份覆盖率报告,首先显示我们大多数文件的 0% 覆盖率,但随着时间的推移,覆盖率会越来越高.
I'm working on a project with a lot of JS, but no unit tests, and we are trying to increase the test coverage. I would like to have a coverage report that starts by show 0% coverage for most of our files, but over time will present an increasing coverage percentage.
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 ]
) );
} );
} );
推荐答案
现在其实简单多了,你只需要添加 includeUntested
到你的 istanbul()
打电话.
It actually is much more simple now and you just have to add includeUntested
to your istanbul()
call.
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
这篇关于完整的 Gulp 伊斯坦布尔报道的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!