我正在使用gulp-mocha
并将gulp-istanbul
mocha 输送到伊斯坦布尔进行覆盖收集。
我done(error)
用来表示 mocha 测试用例中的测试失败。
当所有测试都通过时,istanbul 运行覆盖率收集并生成报告。当任何测试失败时,实例都无法执行。
gulp.task('cov', ['pre-cov'], function () {
return gulp
.src(['test/service/*.js'])
.pipe(mocha({reporter: 'JSON'})
.once('error', () => {
this.emit('end');
})
.once('end', () => {
this.emit('end');
}))
.pipe(istanbul.writeReports({
dir: 'tmp/unit-test-coverage',
reporters: [ 'lcov','text','text-summary'],
reportOpts: { dir: 'tmp/unit-test-coverage'}
}))
.pipe(istanbul.enforceThresholds({
thresholds: { global: 10 }
}))
.on('end', () => {console.log("EXIT");process.exit(1);});
});
end
但是,当 mocha 测试失败/错误时,我会发出一个事件来吞咽。但即使这样也无法在 gulp 处执行on(end)
回调。
似乎,我在这里遗漏了一些东西,这将使我能够继续进入下一阶段,我无法用 mocha 或 istanbul docs 弄清楚。
- 我在这里先向您的帮助表示感谢。