Testem-Schluck-Aufgabe bleibt nach Abschluss hängen
-
21-12-2019 - |
Frage
Diese Schluckaufgabe beendet nicht nach Fertig, ich muss manuell Strg-C drücken, um zu beenden.
gulp.task('test', function(done) {
var testem = require('testem');
var testemOptions = {
file: 'testem.json'
};
var t = new testem();
t.startCI(testemOptions, done);
});
Wie kann ich dafür sorgen, dass diese Aufgabe ordnungsgemäß beendet wird?
Notiz:Eigentlich beendet es sich von selbst, aber es dauert etwa 15 Sekunden, bis es fertig ist.
Ausgabe:
[15:49:59] Using gulpfile ~/gulpfile.js
[15:49:59] Starting 'test'...
ok 1 PhantomJS 1.9 - Integration Tests: Home Index Page
1..3
# tests 3
# pass 3
# fail 0
# ok
[15:50:00] Finished 'test' after 1.33 s
Lösung
Konnte Ihr Problem mit dem reproduzieren Chromium launcher
, aber es sollte dasselbe sein mit PhantomJS
.Es gibt tatsächlich eine 15sec
CPU
Verzögerung zwischen dem Ende des task
und der tatsächliche Ausgang des process
.
> time gulp testem
Starting 'testem'...
ok 1 Chrome 32.0 - sass: link
ok 2 Chrome 32.0 - Unit - HomeRoute: exists
ok 3 Chrome 32.0 - Unit - HomeRoute: #model
ok 4 Chrome 32.0 - Unit - HomeRoute: redirect
1..4
# tests 4
# pass 4
# fail 0
# ok
Finished 'testem' after 938 ms
gulp testem 1.27s user 0.25s system 9% cpu 16.581 total
Durch das Entfernen der done callback
Sie stellen sich der Aufgabe und geben sie weiter startCI
die dies nicht als Parameter nehmen,
var testem = require('testem');
gulp.task('test', function () {
var testemOptions = {
file: 'testem.json'
};
var t = new testem();
return t.startCI(testemOptions);
});
Die Aufgabe wird wie erwartet ausgeführt und nach Abschluss ordnungsgemäß beendet:
> time gulp testem
Starting 'testem'...
ok 1 Chrome 32.0 - sass: link
ok 2 Chrome 32.0 - Unit - HomeRoute: exists
ok 3 Chrome 32.0 - Unit - HomeRoute: #model
ok 4 Chrome 32.0 - Unit - HomeRoute: redirect
1..4
# tests 4
# pass 4
# fail 0
# ok
gulp testem 1.26s user 0.19s system 91% cpu 1.582 total
Ich weiß übrigens nicht, dass Sie das können. Übergeben Sie einfach ein Objekt mit a file
Eigentum zu startCI
, Ich dachte, Sie sollten die Konfigurationsdatei mit lesen fs.readFile
und Parsen seiner Daten in JSON
starten testem
unter Verwendung der von Ihnen bereitgestellten Konfigurationsparameter testem.json
.
Noch etwas, es gibt ein Gulp-Plugin, Schlucktestem dass ich keine Gelegenheit hatte, es auszuprobieren, was aber hilfreich sein könnte.