2014-04-05 13 views
7

Sono nuovo di Karma. Quando eseguo:Karma si blocca a Karma a partire da

karma start myconfigfile.js 

Karma si sta avviando con Chrome, ma si blocca al karma di partenza e niente di più che sta accadendo. Tuttavia posso andare in http://localhost:9876/debug.html e posso vedere che i test sono stati eseguiti in console. Il mio test è all'interno di vendor/Jasmine/spec/PlayerSpec.js.

È questo il modo corretto di usare il karma per i test o ci sono altri modi UI-frendly?

Perché posso vedere che la finestra di karma dovrebbe apparire come this.

Qualcuno ha avuto lo stesso problema?

qui è il mio file di configurazione:

module.exports = function(config) { 
    config.set({ 
    basePath: '/', 
    frameworks: ['jasmine'], 
    files: [ 
     'nodejs/node_modules/karma-jasmine/lib/jasmine.js', 
     'nodejs/node_modules/karma-jasmine/lib/adapter.js', 
     'nodejs/node_modules/requirejs/*.js', 
     'vendor/Jasmine/spec/PlayerSpec.js', 
     'angular/angular.min.js', 
     'angular/angular-mocks.js' 

    ], 
    exclude: [ 

    ], 
    preprocessors: { 

    }, 
    reporters: ['progress'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_DEBUG, 
    autoWatch: true, 
    browsers: ['Chrome'], 
    singleRun: false 
    }); 
}; 
+0

Nota è possibile utilizzare 'karma start myconfigfile.js --single-run' per uscire una volta eseguiti i test. – Dunc

risposta

10

Karma è costituito da due componenti principali: un server e runner.

Il primo prepara l'ambiente di test e genera i browser, ma è il secondo che avvia i test.

Per avviare il server è necessario eseguire karma start, mentre per il secondo è necessario avviare in una seconda shell karma run <configuration_file_path> - provarlo e vedere i test in esecuzione.

Se si desidera avviare automaticamente, basta cambiare questa riga nel file di configurazione:

singleRun: true // => is was false 

A questo punto Karma programma di installazione del server, eseguire i test e l'arresto una volta completato.