2017-10-27 11 views
0

ノードスクリプト内から複数のKarmaテストファイルを並列に実行しようとしていますが、どのテストが合格したか失敗したかを知ることができます。今私が持っているものは次の通りです:カルマサーバーをプログラムで作成するときのテスト結果の取得

const exec = require("child_process").exec; 
exec("karma start " + filename, (error, stdout, stderr) => { 
    // handle errors and test results... 
}); 

上記のコードはうまくいき、stdoutから渡されたか失敗したテストに関する情報を得ることができます。しかし、Karmaと関連するすべての依存関係(レポーター、ブラウザーランチャーなど)をグローバルにインストールする必要があります。私はすべての依存関係をグローバルにインストールする必要がないソリューションを探しています。

私が最初に考えただったこの:

const karma = require("karma"); 
const server = new karma.Server(config,() => { 
    // some logic 
}); 

この他のアプローチをしようとしたときしかし、私は、プログラムのテスト結果を収集することができませんでした。

新しいkarma.Server()を使用している場合、どのテストが合格したか、失敗したかを知る方法がありますか?(そして、理想的にはエラーのスタックトレース)あるいは、テストを実行し、依存関係をグローバルにインストールする必要なしに、プログラムで必要な情報を得ることができる他の方法はありますか?

答えて

0

実は、これにexecの行を変更すると、トリックを行うようだ:

exec("node node_modules/karma/bin/karma start " + filename, (error, stdout, stderr) => { 

それは私が唯一のグローバルの代わりにカルマのローカルにインストールされたバージョンを実行する必要があると思いますが判明しました。 :-)

関連する問題