当我更改文件(如)时,我想使用 KarmaHelloWorld.js
运行特定的测试套件(称为)。HelloWorldSpec.js
因此我创建了这个 Gulp 任务:
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
回调传递给 Karma 服务器,该服务器在每次测试运行后执行它。因此,我在第二次源代码修改(以及以下所有内容)中收到以下错误:
错误:任务完成回调调用了太多次
如果我没有将done
回调传递给Server
,那么我的 Gulp 任务将在第一次测试运行后结束。但我想继续关注源代码修改。我怎样才能做到这一点?