在mocha测试中运行gulp任务导致超时

时间:2015-07-26 11:58:53

标签: javascript node.js gulp mocha

可以在here

中找到完整代码

失败的测试是:

it('should work with promise', function(done) {
  gulp.chroot('child', function() {
  gulp.task('promise', function() {
    return gulp.src('test.txt')
            .pipe(through2.obj(function(){
              console.log('inside promise task');
              console.log(process.cwd());
              assert.equal(process.cwd(), path.join(__dirname, 'child'));
            }))
            .pipe(gulp.dest(path.join(__dirname, 'child', '2.txt')));
    });
  });
  gulp.task('sync', ['promise'], function() {
    console.log('inside sync');
    done();
  });
  gulp.start('sync');
});

此测试会超时,为什么? inside sync永不打印

1 个答案:

答案 0 :(得分:0)

你从未进入gulp任务的内部,所以done();永远不会到达 - 因此没有回调而且超时。