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
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top