1

ファイル ( など) を変更するときに、 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 タスクは最初のテスト実行後に終了します。しかし、ソースコードの変更を監視し続けたいと思っています。どうやってやるの?

4

2 に答える 2