2015-08-05 18 views
9

Ich versuche Karma-Test über eine Schluckaufgabe auszuführen. Ich benutze https://github.com/karma-runner/gulp-karma und aus irgendeinem Grund kann Schluck meine karma.conf.js nicht finden. Diese Datei befindet sich im selben Ordner wie die gulp-Datei. Die Wurzel des Projekts. Egal welchen Pfad ich einstelle, ich bekomme den gleichen Fehler. Datei ./karma.conf.js existiert nicht. Ich kann nicht herausfinden, wie man es richtig leitet. Hier ist der Code für die Schluckaufgabe.Schluckaufgabe kann nicht gefunden werden karma.conf.js

gulp.task('tdd', function (done) { 
    new Server({ 
    configFile: 'karma.conf.js' 
    }, done).start(); 
}); 

Antwort

9

So spool ich Karma mit Gulp (und beide Dateien sind in der gleichen Wurzel).

var karma = require('karma'); 

gulp.task('karma', function (done) { 
    karma.server.start({ 
    configFile: __dirname + '/karma.conf.js' 
    }, done); 
}); 

UPDATE

Wenn Sie node.js dann

NODE Explnation for __dirname link

"Der Name des Verzeichnisses, das die aktuell ausgeführten Skripts in residiert." Laufen

Wenn Sie nicht node.js läuft, dann vielleicht alles, was Sie brauchten, war

configFile: '/karma.conf.js' 

Aber wenn Sie Knoten ausgeführt werden dann das erste Beispiel.

+0

Wo ist __dirname definiert? Es würde scheinen, undefined wenn ich es so machen würde. – Hcabnettek

+0

Ich habe das Update zu Ihrer Frage hinzugefügt. – SoEzPz

+0

Nun, ich benutze Schluck, die eine Node App ist. Einfach __dirname hinzufügen, arbeitete wie ein Champion. Der Knoten muss ihn zum Schlucken bereitstellen. Vielen Dank! – Hcabnettek

3

Wenn ein anderes Zielverzeichnis __dirname zugewiesen ist, funktioniert es nicht. Versuchen Sie Folgendes:

var Server = require('karma').Server 
gulp.task('test', function (done) { 
    new Server({ 
    configFile: require('path').resolve('karma.conf.js'), 
    singleRun: true 
    }, done).start(); 
}); 
Verwandte Themen