私はKarmaを初めて使用しますが、ブラウザでその出力を表示する方法を知りません(runer.htmlファイルが存在するときにJasmineと対話する方法とよく似ています)。
入門的なスクリーンキャストを見て、コンソールウィンドウでテスト出力を表示する方法を理解しましたが、ブラウザーでは、Karma以外のコンテンツはほとんどありません。
カルマ-接続済み
お知らせ下さい! Karma構成ファイルには必要なすべてのスクリプトリンクを含める必要があるため、別のrunner.htmlファイルを維持する必要はありません。
私の知る限り、ブラウザーでテストを実行するという点で、前の2つの答えは正しいです。 [デバッグ]をクリックして、コンソールに出力を表示します。
前の答えとは完全に矛盾しますが、Karmaを使用した完全な変数相互作用を使用して、これとステップスルーデバッグを定期的に実行します。
あなたの質問に対する適切な答えは、あなたが望むものはかなりHTMLベースの出力であるため、「いいえ」です。しかし、このカルマ用プラグインは、あなたが望む結果をもたらすかもしれません。
singleRun = false
でkarma.conf.js
を指定して実行し、上隅にある[デバッグ]ボタンをクリックする必要があります。その後、出力が表示され、消えたり閉じたりすることはありません。コンソールを使用してデバッグすることもできます。
E2eテストのデバッグは「未来」に基づいているため、値をインターセプトできない(afaik)ため、それほど簡単ではないことに注意してください。
こんにちは私の場合、karma-jasmine-html-reporter
をインストールしてレポーター配列に入れることでこの問題を解決しました。
npm i -D karma-jasmine-html-reporter
client:{clearContext:false}
を追加var gulpConfig = require('./build/build.conf')();
module.exports = function (config) {
config.set({
browsers: ['Chrome'],
basePath: './',
plugins: [
// all other plugins
'karma-jasmine-html-reporter'
],
colors: true,
client: {
clearContext: false // will show the results in browser once all the testcases are loaded
},
frameworks: ['jasmine', 'jasmine-sinon', 'sinon'],
files: [].concat(
gulpConfig.deps.lib,
'js/**/*mother*.js',
'js/**/*mother.*.js',
'js/**/*.tests.js'
),
logLevel: config.LOG_INFO,
reporters: ['kjhtml', 'progress', 'coverage'],
});
};
Karmaで HTML5 Web Notifications を表示したかったので、Karmaバージョン0.11で動作させるための簡単なものを書きました。他のバージョンとは少し異なる動作をする場合があります。このスクリプトを残りのアプリケーションスクリプトと共にロードし、カルマテスト結果を保存し、完了後にテストの成功を判断し、元のカルマ関数にリセットして、このスクリプトの実行時に変更されないようにします再び。
// store all my test results
var results = [];
// Wrap the karma result function
var resultFunc = window.__karma__.result;
window.__karma__.result = function(result){
// run the original function
resultFunc(result);
// Push each result on my storage array
results.Push(result);
}
// wrap the karma complete function
var completeFunc = window.__karma__.complete;
window.__karma__.complete = function(result){
// run the original function
completeFunc(result);
// determine success
var success = results.every(function(r){ return r.success });
if (success) {
// display a success notification
}
else {
// display a test failure notification
}
// reset the result function
window.__karma__.result = resultFunc;
// reset the complete function
window.__karma__.complete = completeFunc;
}
1つのオプションは、ブラウザでJavascriptコンソールを開くことです。 Karmaは、結果を含む各テストのログエントリを作成します。