【问题标题】:Karma exits with code 1 when it doesnt execute any spec testsKarma 在不执行任何规范测试时以代码 1 退出
【发布时间】:2015-04-05 13:19:48
【问题描述】:

Karma 测试运行良好,但如果运行 0 of 0 测试,则会以代码 1 退出。有谁知道如何返回退出代码0 并在这种情况下正常退出?使用 gulp-karma 在没有运行规范时任务失败。

【问题讨论】:

  • 我通过创建单元测试解决了这个问题! ;)

标签: karma-runner karma-jasmine gulp-karma


【解决方案1】:

在您的 gulpfile 中,将 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');
  });
});

【讨论】:

  • 这会让 gulp 任务吞下每一个错误,不是吗?但提问者只想忽略“无测试”的情况。
  • 这不是答案。
【解决方案2】:

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

failOnEmptyTestSuite: false

发送到您的karma.conf.js,该进程将以退出代码 0 退出。

BR 克里斯

【讨论】:

  • 这是所问问题的真正答案。
  • 这解决了问题!但请注意,它仍然会以红色向控制台输出“0 of 0 ERROR”,这可能会在视觉上产生误导。
猜你喜欢
  • 1970-01-01
  • 2010-12-17
  • 2019-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 2021-11-21
相关资源
最近更新 更多