Perl用のコードカバレッジツールとは何ですか?
-
04-07-2019 - |
質問
Perl用の優れた(できれば無料の)コードカバレッジツールはありますか?
解決
はい、 Devel :: Cover がその方法です。
モジュールを開発し、 Module :: Build を使用してインストールを管理する場合、 testcover
ターゲットもあります:
perl Build.PL
./Build testcover
テストスイート全体を実行し、結合されたカバレッジレポートをHTML形式で作成します。モジュールでは、モジュールを参照してカバレッジを見ることができます。
他のヒント
いつものように、CPANはあなたの友人です。 Devel :: Cover をご覧ください
前述のように、Devel :: Coverはあなたの友人ですが、あなたもそれをグーグルで検索したいと思うでしょう。ドキュメントは少しまばらで、環境を根本的に変更する場合は、インストール時に環境から取得した大量の情報で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にその魔法を実行させます。