當我更改文件(如HelloWorld.js
)時,我想使用Karma運行特定的測試套件(稱爲HelloWorldSpec.js
)。gulp.watch導致「任務完成回調調用次數過多」
所以我創造了這個咕嘟咕嘟任務:
gulp.task('dev', function(done) {
// Watch source code changes
gulp.watch('src/**/*.js').on('change', function(file) {
// Assemble path to test file
var pathObject = path.parse(file.path);
var specificationPath = 'test/' + pathObject.name + 'Spec.js';
// Run test file
new Server({
configFile: __dirname + '/karma.conf.js',
files: [
'dist/**/*.js',
specificationPath
],
singleRun: true
}, done).start();
});
});
我現在的問題是,我通過done
回調到每一個試運行後,執行它的噶服務器。因此,我得到第二源代碼修改下面的錯誤(每以下):
Error: task completion callback called too many times
如果我沒有在done
回調傳遞給Server
,然後我咕嘟咕嘟任務的第一次測試運行後結束。但我想繼續觀察源代碼修改。我怎樣才能做到這一點?
感謝您提供反饋,但我沒有使用webpack,因此我無法應用您的修復程序。 :( –