19

Perl 用の優れた (できれば無料の) コード カバレッジ ツールはありますか?

4

4 に答える 4

28

いつものように、CPANはあなたの友達です:Devel::Coverを見てください

于 2008-10-23T15:05:21.253 に答える
25

はい、Devel::Coverが最適です。

モジュールを開発し、Module::Buildを使用してインストールを管理する場合、testcoverターゲットもあります。

 perl Build.PL
 ./Build testcover

これにより、テスト スイート全体が実行され、結合されたカバレッジ レポートが適切な HTML で作成されます。このレポートでは、モジュールをブラウズしてそれらのカバレッジを確認できます。

于 2008-10-23T15:20:51.317 に答える
12

前述のように、Devel::Cover はあなたの友達ですが、Google で検索することもできます。ドキュメンテーションは少しまばらで、環境を根本的に変更する場合は、インストール時に環境から引き出された一連の情報を使用して Devel::Cover::Inc をビルドするため、再インストールする必要があります。私たちは CPAN 環境を共有しており、ある開発者が Devel::Cover をインストールし、別の開発者がそれを実行しようとすると、奇妙な (そして正しくない) 結果がよく発生します。

このモジュールを使用する場合は、Devel::CoverX::Coveredも確認してください。このモジュールは、Devel::Cover が破棄する情報の多くをキャプチャします。とても便利です。

于 2008-10-24T07:23:52.713 に答える
5

Moritz は、Module::Build でビルドされたモジュールが Devel::Cover を簡単に使用できる方法について説明します。

ExtUtils::MakeMaker を使用するモジュールの場合、同じ機能を呼び出す拡張モジュールが存在します。WriteMakefile() の呼び出しの前に次のコードを追加します。

eval "use ExtUtils::MakeMaker::Coverage";
if( !$@ ) {
    print "Adding testcover target\n";
}

... コマンド 'make testcover' を実行して、Devel::Cover にその魔法を実行させることができます。

于 2008-10-25T08:59:47.297 に答える