2017-05-30 5 views
4

私はmocha(バージョン2.4.5_6)で流星カバレッジパッケージ(バージョン1.1.4)を使用していて、Ubuntu 14.04 LTSでは流星バージョン1.4.4.1を使用しています。私は非常にきれいなテストカバレッジレポートを生成することができましたが、クライアント側テストでは何かが間違っているようです。ローカルホストへのカバレッジ・データを送信するために:私はモカテストのブロックの後にこの関数を呼び出すメテオカバレッジでは実行されなかった文が表示されているようです

export const sendCoverage = function sendCoverage() { 
    Meteor.sendCoverage(function(stats,err) {console.log(stats,err);}); 
}; 

:3000 /カバレッジを私は.tests.jsファイルにインポートsendCoverage()という関数を作成しました:3000 /カバレッジページを、それが適切にカバレッジを表示しないかのように思える:

after (function() { 
    sendCoverage(); 
}); 

さて、これは私のローカルホストでテストカバレッジレポートを生成します。たとえば、いくつかのステートメントは実行されていますが、赤で強調表示され、カバーされていないものとしてフラグが立てられています。たとえば:文は、それぞれ、11および12回実行得るかのよう

coverage example

に思えます。しかし、それらはカバーされているとはフラグされておらず、私の報告書では、ステートメントのカバレッジのパーセンテージはこれを反映しています。

誰かが私が間違っている可能性があることを知っているか、クライアント側コードカバレッジと流星カバレッジパッケージの経験がありますか?

ありがとうございます!

ポストソリューション編集

私が今取り組んで持っているようです。 Codacyのパーセンテージは、私のhtmlレポートのパーセンテージと一致します。 htmlレポートをより詳しく見ると、カバレッジ数は結局正しいと思われます。奇妙な行動を示していたのは単にドリルダウンだった。結局のところ、それは結局働いたが、これを私に確認するためにコダシの第二の意見が必要だった。私の新しいアプローチは、スペースジャム(下記のSerの答えを参照)でlcovカバレッジレポートを作成し、これをCodacy、Codecov、SonarQubeなどの外部サービスにエクスポートすることです。

ありがとうございました!

答えて

1

私は流星カバレッジの著者です。パッケージがあなたのアプリでうまく動作することを喜んで!

まず、カバレッジを収集しレポートを保存する方法が最適化されているとは思っていません。カバレッジを保存する機能を持つユーティリティを作成しないでください。テストでは常にMeteor.sendCoverageと仮定して、各ファイルのカバレッジを保存することができます。

after (function() { 
    Meteor.sendCoverage(()=>{}); 
}); 

一方、カバレッジを保存するためにテストファイルにコードを書き込むべきではありません。テストランナーはあなたのためにそれを行うことができますI added on the spacejam fork。 を使用してhtmllcovレポートをエクスポートできます。

私はlcovフォーマットがhtmlレポートよりも信頼性が高いと思います。私がいくつかのcoverage report of the client side code from meteor-coverageを見ると、すべてが一貫して見えます。 Sonar、Codecov、CodacyなどのCode Qualityプラットフォームにlcovファイルを送信してください。 istanbulとhtmlレポート生成に関連するかもしれない回線の問題を修正することを願っています。

+0

ちょっとSerut、あなたの答えをありがとう!あなたが説明した方法でテストを実行するためにspacejamを使用しようとしました。しかし、これは私のコンソールに次のエラー出力をもたらしました: '=>プロキシを開始しました。 => MongoDBを開始しました。 spacejam:流星mongodbが用意されています spacejam:死の流星 spacejam:終了コード 'null'で不明なエラーが発生しました。終了します。 私はこのオンラインに関する何かを見つけようとしましたが、これに関連するすべての問題は、私がUbuntuで私のアプリケーションを開発しているので、私にはあてはまらないようです。このエラーがどこから来るのか知っていますか? – Gijs

+0

stacktraceが短すぎるため、何が起こっているのか分かりませんが、これは 'spacejam'を起動する方法です(' meteor npm run 'を使う)か、 。私が行った変更を見るには、[apollographql/meteor-starter-kitのこのフォーク(https://github.com/serut/meteor-react-apollo-test-coverage-starter-kit)をチェックしてくださいカバレッジを追加する。これを修正したい場合は、[問題を記入してください](https://github.com/serut/meteor-coverage/issues)をクリックしてください。 – Ser

+0

さて、私はスペースジャムを稼働させました。結局のところ、 'https:// github.com/serut/spacejam/tarball/windows-suppport-rc4'版を使う必要がありました。提供されたpackage.jsonコマンドを使用してlcovファイルを作成することができ、これを分析のためにコダシに送ることができました。残念ながら、パーセンテージは依然として同じです。つまり、行は誤ってカウントされなければなりません。それでも、私は一歩前進しました。今までありがとう!私は何が間違っているのかを見つけ出し、このスレッドを更新し続けるつもりです。その間に他の提案がある場合は、教えてください! – Gijs

関連する問題