2017-11-13 9 views
0

私はこれについて何も見たことはありませんが、複数のkarma-conf.jsファイルを1回のカルマ実行に含めることが可能かどうかは疑問でしたか?基本的に、私はカバレッジとCIのためのtslintとローカル開発のためのテストだけの構成を持つ構成を考えています。カルマ設定 - 他の設定ファイルを含む

答えて

0

私が知る限りカルマは入力として1つの設定ファイルしか受け付けません。これはコマンドライン引数として、またはカルマサーバのコンストラクタオプションの一部として指定できます。

おそらく、gulpはあなたに代わる方法です。私はいくつかのタスクでgulpファイルを使用します。各タスクは、karma-conf.jsで指定されているデフォルト設定を上書きすることができます。

console.log('Importing gulp dependencies ...'); 

var gulp = require('gulp'); 
var karma = require('karma'); 
var KarmaServerConstructor = karma.Server; 
var karmaStopper = karma.stopper; 
var watch = require('gulp-watch'); 
var commandLineArguments = require('yargs').argv; 
var svn = require('gulp-svn'); 
var exec = require('child_process').exec; 
var fs = require('fs'); 
var os = require('os'); 
var open = require('gulp-open'); 
var collect = require('gulp-collect'); 

console.log('Imports finished.'); 

gulp.task('watch', function() { 

    return gulp // 
    .watch('MyTestProject/App/**/*.spec.js', handleFileChanged) 
    .on('error', handleGulpError); 

    function handleFileChanged(vinyl) { 

    var pathForChangedFile = './' + vinyl.replace(/\\/g, '/'); 

    var karmaOptions = { 
     configFile: __dirname + '/karma.conf.js', 
     action: 'start', 
     browsers: ['PhantomJS'], 
     singleRun: true, 
     files: firstKarmaFiles // 
     .concat([ 
      { 
      pattern: pathForChangedFile, 
      included: false 
      } 
     ]) // 
     .concat(lastKarmaFiles) 
    }; 

    var karmaServer = new KarmaServerConstructor(karmaOptions); 
    karmaServer.start(); 
    }  
}); 
+0

ええ、以前はカルパと一緒に使用されていたGulpについて同様の投稿を見ましたが、必要でない場合はGulpをプロジェクトに追加したくありませんでした。 – Skeeterdrums

+0

次に、その機能をhttps://github.com/karma-runner で要求するチケットを作成したり、自分でファイルの配列を受け入れるstartメソッドでカルマを拡張することができます。 – Stefan

関連する問題