web-dev-qa-db-ja.com

カルマテストランナーコンソールの詳細なテストレポート

angular app with karmaの単体テストを開始しました。すべてが期待どおりに動作しています

Chrome 26.0(Windows):1の1を実行
Chrome 26.0(Windows):1の1成功を実行(0.878秒/ 0.112秒)

ただし、テストの結果に関する詳細情報を出力する方法はありますか。たとえば、実行しているスイートおよびテスト名とその結果。 Jasmineのテスト結果がブラウザーに出力されるチュートリアルをいくつか読んだことがあります。カルマでも達成できるのだろうか。

43
Amitava

私は似たようなものを探していて、これを見つけました: https://github.com/usrz/javascript-karma-verbose-reporter 。この種類の出力を生成します。

$ karma start --reporters=verbose

Suites and tests results:

 - the app.router.config module :
   * contains a router property : ok
   * configures the router title : ok
   * should have a login route : ok
 - the organization module :
   * contains a state property : ok
   * should have a streams route after configuration : ok
   * when activated, should set state based on organization in route : ok
 - the streams module :
   * points to state : ok
   * loads organization streams upon activation : ok
   * loads organization streams via API : ok

Browser results:

 - PhantomJS 1.9.8 (Mac OS X 0.0.0): 9 tests
   - 9 ok

これをデフォルトのオプションにするために、これをカルマ設定に追加できます。例:

reporters: ['verbose', 'junit']
17

KarmaのHTMLレポーターを完成させたばかりなので、レポーターに追加できます。コンソールのように追加情報を取得できますが、構成で「singleRun = true」を使用できます。プラグインは次の場所にあります。

https://npmjs.org/package/karma-htmlfile-reporter

「npm install karma-htmlfile-reporter -g」でプラグインをインストールしたら、karma.conf.jsにいくつかの行を追加するだけです。

reporters: ['progress', 'html'],

htmlReporter: {
  outputFile: 'tests/units.html'
},

plugins: [
  // ... your other plugins here
  'karma-htmlfile-reporter'
]

Karmaテストを実行した後、プラグインはブラウザで表示できるスタイル付きHTMLファイルを生成します。

15
Matthias

Iljaが言ったように、私はあなたが成功したテストからどのような情報を望んでいるか知りません。ただし、ブラウザでテストを実行している場合は、デバッグページを開くことができます。おそらくhttp://localhost:9876/debug.html。すべての単体テストはそこでコンソールに記録されます。

9
DJ_HOEK

このドキュメントは、コンソールで出力を設定するのに役立つかもしれません。

説明されているとおり:

reporters: ['progress', 'junit']
  • 「進行状況」はコンソールの出力用です
  • 「junit」は、外部ファイルに出力するためのカルマプラグインです。 :)
7
micfan

@CarlesBarrobésの回答から。元の質問はangularアプリケーションについて話していました。だから、これをng testで動作させるための手順をリストすると思いました。

詳細レポーターをインストールします。

npm install --save-dev karma-verbose-reporter

Karma.conf.jsファイルを更新して、以下を含めます。

module.exports = function (config) {
  config.set({
    plugins: [
      require('karma-verbose-reporter')
    ],
    reporters: ['verbose']
  });
};

もちろん、レポートに関連する設定のみを含めています。もちろん、設定ファイルには他の設定をそのままにしておきます。

これで、ng testを実行して詳細な出力を取得できます

2
Ian Jamieson

あなたが欲しいものを手に入れました。コンソール自体に詳細なレポートが必要です。

'progress'を使用すると、「これでこれだけの成功が得られますが、詳細レポートは出力されません。」

例:1成功の1を実行(0.878秒/ 0.112秒)

reporters: ['progress']

コンソール自体で詳細レポートを印刷するには、ブラウザで「kjhtml」が行うようにコンソールで詳細実行を印刷する「mocha」レポートを使用します。

reporters: ['mocha']

mochaはコンソール自体に印刷され、phantomjsブラウザーとchromeヘッドレスブラウザーで使用されます

同じプラグインが必要です。 link に従ってください

0
vipul patel