2015-02-05 9 views
8

Il test di Karma funziona bene ma esce con il codice 1 se vengono eseguiti i test 0 of 0. Qualcuno sa come restituire il codice di uscita 0 e normalmente uscire in questo caso? Utilizzo di gulp-karma che non riesce l'attività quando non vengono eseguite specifiche.Karma termina con il codice 1 quando non esegue test specifici

+2

ho risolto con la creazione di test di unità! ;) –

risposta

2

Nel file gulp, sostituire "throw err" nella richiamata di errore nell'attività di test gulp con "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; 
    }); 
}); 

quindi il compito di test ora è simile;

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

Ciò renderebbe il task gulp ingoiare ogni errore, no? Ma il richiedente vuole solo ignorare il caso 'senza prova'. – cschuff

14

C'è una configuration option che permette di suite di test vuoti. Basta aggiungere

failOnEmptyTestSuite: false 

al karma.conf.js e il processo terminerà con codice di uscita 0.

BR Chris

+2

Questa è la vera risposta alla domanda come richiesto. – Zhuge