Scala で使用できるコード カバレッジ ツールは何ですか?
Scala 仕様テストと Hudson 継続的インテグレーションのセットアップがあります。コード カバレッジを測定および追跡するために、このセットアップに接続できるものはありますか?
Scala で使用できるコード カバレッジ ツールは何ですか?
Scala 仕様テストと Hudson 継続的インテグレーションのセットアップがあります。コード カバレッジを測定および追跡するために、このセットアップに接続できるものはありますか?
SCCT は、クラスを計測してカバレッジ データを収集するコンパイラ プラグインです。
アンダーカバーは少し良いです。
非主流言語 (Scala など) の問題の 1 つは、ツールを構築するのが難しいため、ツールを見つけるのが難しいことです。
このテクニカル ペーパーBranch Coverage for Arbitrary Languages Made Easy (私は著者です) では、一般的なツール構築インフラストラクチャを使用して、この問題を回避するのに役立つ体系的な方法で言語のテスト カバレッジ ツールを構築する方法について説明しています。
Java、C#、COBOL、C、C++、PL/SQL などのテスト カバレッジ ツールを実装しました。これには、計測器、データ収集、テスト カバレッジの表示とレポートが含まれます。このように Scala を実装するのは簡単です。
他の回答によって提示されたソリューションは、Scala の実装 (「自動分類クラス」) から混乱を招く情報を生成します。開発者が見たいのは、コードに関するカバレッジ データです。私たちが使用するアプローチはソース コードをインストルメント化するため、結果は完全にソース コードの観点からのみ記述されます。テスト カバレッジ ビューアでさえ、カバレッジ情報でカバーされたソース コードを表示します。
ジャコを使っています。コンパイルまたはランタイムの依存関係を必要とせず、特別な計測フェーズなしでオンザフライでクラスを計測します。
また、Sonar と統合され、Maven Central で公開されました。
例を次に示します: https://github.com/Godin/sonar-experiments/tree/master/jacoco-examples/scala-example
より良いレポートを追加したいと思います: より詳細なブランチ カバレッジ マークラップ、生成されたクラス/メソッドを除外し、ScalaDoc のように便利にすること (たとえば、SCCT レポートを参照)
内部で scct を使用する xsbt -coveralls- plugin という SBT プラグインをまとめましたが、結果はhttp://coveralls.ioに公開されます。
免責事項: 私はこのプラグインを昨日 (2013 年 3 月 10 日) 作成したばかりなので、まだ完璧であるとは思っていませんが、バグや機能のリクエストを github ページに送信してください。
それでも、カバレッジ レポートを公開するようにコーディングするのは良いことです。ここで結果の例を確認してください