Perl 用の優れた (できれば無料の) コード カバレッジ ツールはありますか?
4 に答える
いつものように、CPANはあなたの友達です:Devel::Coverを見てください
はい、Devel::Coverが最適です。
モジュールを開発し、Module::Buildを使用してインストールを管理する場合、testcover
ターゲットもあります。
perl Build.PL
./Build testcover
これにより、テスト スイート全体が実行され、結合されたカバレッジ レポートが適切な HTML で作成されます。このレポートでは、モジュールをブラウズしてそれらのカバレッジを確認できます。
前述のように、Devel::Cover はあなたの友達ですが、Google で検索することもできます。ドキュメンテーションは少しまばらで、環境を根本的に変更する場合は、インストール時に環境から引き出された一連の情報を使用して Devel::Cover::Inc をビルドするため、再インストールする必要があります。私たちは CPAN 環境を共有しており、ある開発者が Devel::Cover をインストールし、別の開発者がそれを実行しようとすると、奇妙な (そして正しくない) 結果がよく発生します。
このモジュールを使用する場合は、Devel::CoverX::Coveredも確認してください。このモジュールは、Devel::Cover が破棄する情報の多くをキャプチャします。とても便利です。
Moritz は、Module::Build でビルドされたモジュールが Devel::Cover を簡単に使用できる方法について説明します。
ExtUtils::MakeMaker を使用するモジュールの場合、同じ機能を呼び出す拡張モジュールが存在します。WriteMakefile() の呼び出しの前に次のコードを追加します。
eval "use ExtUtils::MakeMaker::Coverage";
if( !$@ ) {
print "Adding testcover target\n";
}
... コマンド 'make testcover' を実行して、Devel::Cover にその魔法を実行させることができます。