Karma 在不执行任何规范测试时以代码 1 退出

Karma exits with code 1 when it doesnt execute any spec tests

Karma 测试 运行 很好,但如果 0 of 0 测试是 运行,则退出代码为 1。有谁知道如何 return 退出代码 0 并在这种情况下正常退出?使用 gulp-karma 当没有规格 运行.

时任务失败

在您的 gulp 文件中,将 gulp 测试任务中错误回调的 "throw err" 替换为 "this.emit('end')"。

gulp.task('test', function() {
  return gulp.src(testFiles)
    .pipe(karma({
      configFile: 'karma.conf.js',
      action: 'run'
  }))
  .on('error', function(err) {
    throw err;
  });
});

所以你的测试任务现在看起来像;

gulp.task('test', function() {
  return gulp.src(testFiles)
    .pipe(karma({
      configFile: 'karma.conf.js',
      action: 'run'
  }))
  .on('error', function(err) {
   this.emit('end');
  });
});

有一个 configuration option 允许空测试套件。只需添加

failOnEmptyTestSuite: false

到您的 karma.conf.js,进程将退出,退出代码为 0。

BR 克里斯