2015-06-20 71 views
0

我正在從grunt切換到gulp。這是工作發現咕嚕(提及以防萬一它有幫助)。gulp手錶只能運行兩次

當我的測試任務(摩卡)下面的gulp文件在文件更改時成功運行,但它只能運行兩次。如果我更換另一個文件,該任務將運行,但對相同文件的連續更改不會觸發運行。換句話說:

  • 觸摸文件A,任務運行
  • 觸摸文件一遍,任務運行
  • 再次觸摸文件A,任務不運行
  • 觸摸文件B,任務運行
  • 觸摸文件B再次,任務不運行

測試通過,我看到的唯一輸出是一飲而盡啓動/停止(即我沒有看到這樣會破壞手錶的任何錯誤)

OSX 10.10.3 /一飲而盡3.9.0

我gulpfile:

'use strict'; 

var gulp = require('gulp'); 
var mocha = require('gulp-mocha'); 

gulp.task('test', function() { 
    gulp.src('test/unit/**/*.js') 
     .pipe(mocha()); 
}); 

gulp.task('watch', function() { 
    gulp.watch('lib/**/*.js', ['test']); 
}); 

回答

0

想通了。我在一些測試中使用了sinon.useFakeTimer。從未恢復原始時鐘行爲。出於某種原因,咕嚕聲不受此影響。我恢復了時鐘,現在很開心

1

這很古怪,我不知道爲什麼,但同樣的事情發生在我身上,它開始我曾經工作也開始觀看測試文件。也許它會適用於你的情況。試一試。

gulp.task('watch', ['test'], function() { 
    gulp.watch(['lib/**/*.js', 'test/unit/**/*.js'], ['test']); 
});