2015-02-05 1 views
8

Тест Karma отлично работает, но выходит с кодом 1, если запущены тесты 0 of 0. Кто-нибудь знает, как вернуть код выхода 0 и нормально выйти в этом случае? Использование gulp-karma, которое не выполняет задачу, когда не запускается никаких спецификаций.Выходы Karma с кодом 1, когда он не выполняет никаких специальных тестов

+2

Я решил это путем создания модульных тестов! ;) –

ответ

2

В вашем gulpfile замените «throw err» на обратный вызов ошибки в задаче проверки gulp с помощью «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'); 
    }); 
}); 
+1

Это заставило бы задачу глотания проглатывать каждую ошибку, нет? Но искатель только хочет проигнорировать дело «без проверки». – cschuff

14

Существует configuration option, который позволяет использовать пустые испытательные комплекты. Просто добавьте

failOnEmptyTestSuite: false 

к вашему karma.conf.js и процесс будет завершаться с кодом выхода 0.

BR Крис

+2

Это реальный ответ на заданный вопрос. – Zhuge

Смежные вопросы