ブラウザウィンドウを手動で閉じた後、カルマAPIを使用してカルマサーバーを自動的に終了したいと考えています。カルマAPIのbrowser_changedイベントハンドラでブラウザの更新リストを取得するには?
...
var karmaServer = new karma.Server(karmaOptions, done);
karmaServer.on('browsers_change', stopServerIfAllBrowsersAreClosed); //for a full list of events see http://karma-runner.github.io/1.0/dev/public-api.html
karmaServer.start();
function stopServerIfAllBrowsersAreClosed(browsers) {
if (browsers.length === 0) {
//double check since browser might only be closed temporarily due to connection issues
setTimeout(function() {
if (browsers.length === 0) {
karma.stopper.stop();
}
}, 2000);
}
}
ブラウザの数が変化した場合に予想されるように、そのコードの作業はウィル、(観測可能?)のでbrowsers
引数は常に更新されますか?
接続の問題でbrowser_change
イベントが発生した場合は、長さはいつも0になりますか?
カルマドキュメントは、コレクションが観測可能であるかどうかを述べるません。
https://karma-runner.github.io/0.13/dev/public-api.html
これが動作しない場合は、手動でのみ最後にブラウザを閉じた後、サーバーを停止するための代替戦略を知っていますかネットワーク接続の問題ではありませんか?