无法判断Jasmine何时完成运行

时间:2014-11-26 20:43:24

标签: jasmine gulp

我有以下Gulp任务:

var gulp = require('gulp'),
  nodemon = require('gulp-nodemon'),
  livereload = require('gulp-livereload'),
  sass = require('gulp-ruby-sass'),
  jasmine = require('gulp-jasmine'),
  app = require('./app'),
  server = require('http').createServer(app);

gulp.task('test', function () {
  return server.listen(3000, function() {
    gulp.src('spec/test.js')
      .pipe(jasmine());
  });
});

当测试完成后,我想要server.close()来杀死服务器。 (否则命令会挂起。)

但我不知道如何判断测试何时完成。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

这就是我最终做的事情。我猜想,重要的区别是on回调。

gulp.task('test', function() {
  server.listen(3000);
  return gulp.src('spec/test.js')
    .pipe(jasmine())
    .on('end', function () {
      server.close();
    });
});