覆盖率报告生成失败:mocha> gulp-mocha>吞 - 伊斯坦布尔

时间:2016-11-29 12:48:01

标签: gulp mocha istanbul gulp-mocha

我正在使用gulp-mochagulp-istanbul管道上传到istanbul进行覆盖收集。

我使用done(error)来表示mocha测试用例中的测试失败。

当所有测试通过后,istanbul会运行覆盖率收集并生成报告。 当任何测试失败时,instanbul无法执行。

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);});
});

然而,当mocha测试失败/错误时,我发出end事件吞咽。但即使这样也无法在gulp执行on(end)回调。

似乎,我在这里遗漏了一些东西,这将允许我继续前进到下一阶段,我无法用mocha或istanbul docs来解决这个问题。

- 提前感谢您的帮助。

0 个答案:

没有答案