ファイル ( など) を変更するときに、 Karma を使用しHelloWorld.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 サーバーにコールバックを渡すことです。したがって、2 番目のソース コードの変更 (および次のすべて) で次のエラーが発生します。
エラー: タスク完了コールバックの呼び出し回数が多すぎます
done
にコールバックを渡さないとServer
、Gulp タスクは最初のテスト実行後に終了します。しかし、ソースコードの変更を監視し続けたいと思っています。どうやってやるの?