0

我正在使用gulp-mocha并将gulp-istanbulmocha 输送到伊斯坦布尔进行覆盖收集。

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 弄清楚。

- 我在这里先向您的帮助表示感谢。

4

0 回答 0