52

Scala で使用できるコード カバレッジ ツールは何ですか?

Scala 仕様テストと Hudson 継続的インテグレーションのセットアップがあります。コード カバレッジを測定および追跡するために、このセットアップに接続できるものはありますか?

4

6 に答える 6

18

SCCT は、クラスを計測してカバレッジ データを収集するコンパイラ プラグインです。

http://mtkopone.github.com/scct/

于 2010-10-11T10:19:54.510 に答える
9

アンダーカバーは少し良いです。

于 2009-08-07T10:29:04.463 に答える
8

非主流言語 (Scala など) の問題の 1 つは、ツールを構築するのが難しいため、ツールを見つけるのが難しいことです。

このテクニカル ペーパーBranch Coverage for Arbitrary Languages Made Easy (私は著者です) では、一般的なツール構築インフラストラクチャを使用して、この問題を回避するのに役立つ体系的な方法で言語のテスト カバレッジ ツールを構築する方法について説明しています。

Java、C#、COBOL、C、C++、PL/SQL などのテスト カバレッジ ツールを実装しました。これには、計測器、データ収集、テスト カバレッジの表示とレポートが含まれます。このように Scala を実装するのは簡単です。

他の回答によって提示されたソリューションは、Scala の実装 (「自動分類クラス」) から混乱を招く情報を生成します。開発者が見たいのは、コードに関するカバレッジ データです。私たちが使用するアプローチはソース コードをインストルメント化するため、結果は完全にソース コードの観点からのみ記述されます。テスト カバレッジ ビューアでさえ、カバレッジ情報でカバーされたソース コードを表示します。

于 2011-03-02T23:00:19.987 に答える
3

ジャコを使っています。コンパイルまたはランタイムの依存関係を必要とせず、特別な計測フェーズなしでオンザフライでクラスを計測します。

また、Sonar と統合され、Maven Central で公開されました。

例を次に示します: https://github.com/Godin/sonar-experiments/tree/master/jacoco-examples/scala-example

より良いレポートを追加したいと思います: より詳細なブランチ カバレッジ マークラップ、生成されたクラス/メソッドを除外し、ScalaDoc のように便利にすること (たとえば、SCCT レポートを参照)

于 2011-11-11T07:56:19.310 に答える
3

内部で scct を使用する xsbt -coveralls- plugin という SBT プラグインをまとめましたが、結果はhttp://coveralls.ioに公開されます。

免責事項: 私はこのプラグインを昨日 (2013 年 3 月 10 日) 作成したばかりなので、まだ完璧であるとは思っていませんが、バグや機能のリクエストを github ページに送信してください。

それでも、カバレッジ レポートを公開するようにコーディングするのは良いことです。ここで結果の例を確認してください

于 2013-03-11T13:47:28.023 に答える