2014-04-05 3 views
7

Ich bin neu in Karma. Wenn ich renne:Karma hängt bei Karma ab

karma start myconfigfile.js 

Karma startet mit Chrom, aber es hängt an Karma Start und nichts mehr passiert. Allerdings kann ich in http://localhost:9876/debug.html gehen und sehen, dass Tests in der Konsole ausgeführt wurden. Mein Test ist innerhalb vendor/Jasmine/spec/PlayerSpec.js.

Ist dies die richtige Art, Karma zum Testen zu verwenden, oder gibt es andere UI-freundliche Methoden?

Da kann ich sehen, dass Karma-Fenster wie this aussehen sollte.

Hatte jemand das gleiche Problem?

hier ist meine Config-Datei:

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

Hinweis: Sie können 'karma start myconfigfile.js - single-run 'verwenden, um das Programm zu beenden, sobald Tests ausgeführt wurden. – Dunc

Antwort

10

Karma aus zwei Hauptkomponenten zusammen: ein server und ein runner.

Der erste bereitet die Testumgebung vor und erstellt die Browser, ist aber der zweite, der die Tests startet.

Um den Server zu starten, müssen Sie karma start ausführen, während für die zweite Sie in einer zweiten Shell starten müssen karma run <configuration_file_path> - versuchen Sie es und sehen Sie die Tests laufen.

Wenn Sie es automatisch gestartet werden soll, nur diese Zeile Datei in der Config ändern:

singleRun: true // => is was false 

An diesem Punkt Karma wird Setup der Server, die Tests und Abschaltung, wenn abgeschlossen.