2015-10-29 9 views
8

Cercando di eseguire il karma usando fiato per l'esecuzione di test, ma dopo aver seguito l'esempio da: https://github.com/karma-runner/gulp-karmasorso di prova karma TypeError: Server non è una funzione

Il mio file sorso:

var gulp = require('gulp'); 
var Server = require('karma').Server; 

/** 
* Run test once and exit 
*/ 
gulp.task('test', function (done) { 
    new Server({ 
    configFile: __dirname + '/karma.conf.js', 
    singleRun: true 
    }, done).start(); 
}); 

/** 
* Watch for file changes and re-run tests on each change 
*/ 
gulp.task('tdd', function (done) { 
    new Server({ 
    configFile: __dirname + '/karma.conf.js' 
    }, done).start(); 
}); 

gulp.task('default', ['tdd']); 

dopo corro: gulp test Ho ricevuto l'errore:

TypeError: Server is not a function at Gulp.<anonymous> 

Qualche suggerimento su cosa potrebbe essere sbagliato?

risposta

2

Il problema è che karma-cli npm modulo non è stato correttamente installato globalmente. In esecuzione: npm install -g karma-cli risolto il problema.

10

Quale versione di karma hai installato?

L'API è stata modificata da 0.12 a 0.13 e l'esempio che hai mostrato è quello per 0.13.

L'API precedente era la seguente:

var server = require('karma').server; 

//... more code 
server.start({ .... } , function(exitCode){ 
    // ... 
}); 
+1

Questo mi ha aiutato a gestire il karma dal grugnito; per usare [email protected] hai bisogno di karma ~ 0.13. Stavo anche ricevendo i messaggi 'Warning: Server is not a function'. –

+0

Stavo usando Karma + Gulp con le ultime versioni – guilhebl