2016-09-30 7 views
2

背景::分派器のテストフレームワークとしてJasmineを使用しています。私はjasmine spec reporterを使って報告しています。昨日は少しすなわちJasmineNodeOpts - 印刷用分度器のテスト結果

jasmineNodeOpts: { 
    showColors: true, 
    defaultTimeoutInterval: 120000, 
    includeStackTrace : true, 
    isVerbose : true, 
    print: function() {} 
}, 

print()機能が含まれるように、私の分度器のconf.jsの私jasmineNodeOptsパラメータを変更し、私はそれが各レポートの前に.を除去するであろう学んだので、私は、この印刷機能を追加しました。たとえば、私のテストレポートが戻ってきました。

. ✓ should display a profile question about IT loads 
. ✓ checks the width of the progress bar 
. ✓ selects an option from the radio buttons and updates the progress bar 

そして、これらの先頭のドットは削除されました。私は.は私のレポートから削除されますが、以前のレポート全体を保持た、両方の長所をしたい

Executed 14 of 14 specs (2 FAILED) in 45 secs. // this is my current, undesired output 

:これに

14 specs, 2 failures Finished in 45.473 seconds // this is the old, desired output 

:しかし、今、私の最終報告書はまた、からわずかに変更されました。

問題:私はjasmineNodeOptsおよび/またはそのprint()機能に詳細ドキュメントを見つけることができません。 jasmine-spec-reporterprotractor reference confに記載されていますが、実際のドキュメントはありません。非常に弱い例が提供されています。

このprint()機能の詳細および/または最終テスト出力の変更方法については、誰でも知っていますか?

答えて

1

私はこのケースに対して1つの解決策を持っています。このハックの一種で、jasmine-spec-reporterの小さな変化である - 私はちょうどチェックして、あなたがそうであるように、そのが実行要約を生成summary(metrics)node_modules/jasmine-spec-reporter/src/spec-display.jsで以下のロジック

summary: function (metrics) { 

    this.log(metrics.executedSpecs + ' specs, ' + metrics.failedSpecs+ ' failures Finished in ' + metrics.duration); 
    if (metrics.random) { 
     this.log('Randomized with seed ' + metrics.seed + '.'); 
    } 
    }, 

で -

は、メソッドを置き換えdisplaySummaryロジック予期している

Spec started 

    - sample test 
    √ Dummy Test 
    √ Dummy Test2 
    √ Dummy Test3 


3 specs, 0 failures 
Finished in 27.544 seconds 

    3 specs,0 failures Finished in 28 secs 
+0

すごく、ありがとう。完璧に働いた。私は記者自身を編集することをなぜ思っていなかったのか知りません。私は 'print()'関数を設定する方法について固執しました:) – Gunderson

+0

Np ..うまくいきました! – AdityaReddy