当我更改文件(如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,因此我无法应用您的修复程序。 :( –