Webappでkarmaを実行すると、合格したテストのような一般的なメッセージのみが表示されます-合格したテストのリストを取得する方法はありますか?より詳細な出力を取得するにはどうすればよいですか?
これはドキュメントのどこにもありません。
私はこれがどのようにできるか知っています!
Karmaの端末出力は、レポーターと呼ばれるオブジェクトから取得されます。 Karmaには、レポーターがいくつか組み込まれています(karma/lib/reporters
にあります)。 Karmaは、カスタムレポーターを使用することもできます。
プロジェクトのkarma.config.js
ファイルで使用するレポーターを指定できます。
たとえば、「ドット」レポーターは、各テストに合格するとドットを出力します。
reporters: ['dots'],
「進行中」レポーターはドットより多くを印刷します:
reporters: ['progress'],
カスタムレポーター karma-spec-reporter は、テストが成功または失敗したとき(ただし、それ以外のことはほとんどない)、各テストの名前を出力します。
reporters: ['spec'],
Karma-junit-reporter、karma-spec-reporter、および含まれるレポーターはニーズを満たさない可能性があるため、独自のレポーターを展開することをお勧めします。
この場合、karma-spec-reporterをカスタマイズするのが最良のオプションであると推測しています。テストが成功するとすでに行が出力されるからです。
さらに簡単なものを探しているなら、 here は私が作成したカスタムレポーターです。端子の色なしで、合格および不合格のテストを報告します。
Karma Spec Reporterをお勧めします。これにより、このようなきれいな単体テストレポートが得られます。
どうやって使うのですか:
プロジェクトのコマンドラインで、
npm install karma-spec-reporter --save-dev
karma.conf.js
、... config.set({ ... reporters: ["spec"], specReporter: { maxLogLines: 5, // limit number of lines logged per test suppressErrorSummary: true, // do not print error summary suppressFailed: false, // do not print information about failed tests suppressPassed: false, // do not print information about passed tests suppressSkipped: true, // do not print information about skipped tests showSpecTiming: false // print the time elapsed for each spec }, plugins: ["karma-spec-reporter"], ...
以上です。楽しい。
このプラグインをkarma 0.9.0以降で使用します
テスト仕様にログを追加できます。 log4js-nodeをチェックアウトします。