Delphiコードカバレッジは、詳細なマップファイルに基づいてコードカバレッジレポートを作成するDelphiのシンプルなコードカバレッジツールです。
このプロジェクトもチェックして、Delphi IDEにウィザードを追加して構成を作成し、Delphiコードのカバレッジを起動するのに役立ちます。
コードカバレッジレポートを実行するプロジェクトには、詳細なマップファイルを生成する「デバッグ」構成が必要です。
Delphiコードカバレッジは現在、「ラインカバレッジ」のみを測定しています。つまり、コードが生成された各ラインを追跡し、実行された場合にマークを付けます。
Borlandパッケージライブラリ(本質的にDLL)または外部DLLを使用するアプリケーションの場合、DCCは各DLLの.mapファイルをロードしようとします。これらのライブラリのユニットが存在し、コードカバレッジがアプリケーションの一部としてDLL/BPLに及ぶDLL/BPLに及びます。 .mapファイルは、ロードされたDLLと同じディレクトリに存在する必要があります。
最新リリースをダウンロードし、ファイルを解凍して、たとえばDelphiインストール「Bin」ディレクトリまたは「パス」にある場所に置いてください。
すべてのパラメーターは、ソースディレクトリにファイルを使用する場合( -spfを参照)、バッチスタイルの環境変数(Eg%Windir%など)も理解しています。環境変数も許可されています。 「!」を準備することにより、ユニットファイル( -ufを参照)に特定のユニットを除外することが可能です。ユニット名の前。
コンパイルされたアプリケーションと実行可能ファイルがあるディレクトリにコマンドラインプロンプトを開きます。
タイプ: CodeCoverage -m TestApp.map -e TestApp.exe -u TestUnit TestUnit2 -xml -html
新しい言語機能が使用されるため、やや新しいコンパイラが必要です。このプロジェクトは、Delphi XE2をサポートしていないことが知られています。 XE3はおそらく機能します。メイン開発は10.xバージョンで行われます。
-html指定)各ユニットには、カバレッジの概要を備えたUnit.htmlがあり、その後にソースがマークアップされます。緑の線が覆われました。赤い線は覆われていませんでした。他の行にはコードが生成されていませんでした。また、カバレッジを要約し、生成されたユニットレポートへのリンクを持っているcodecoverage_summary.htmlファイルもあります。
-xmlを指定)codecoverage_summary.xmlという要約XMLレポートは、EMMAのXML出力と互換性のある出力ディレクトリで生成されます。 Switchesの-xmllines 'および「-xmlgenerics」と組み合わせて使用して、1行あたりの詳細なコードカバレッジを使用します。
-emmaまたは-emma21を指定)現在、EMMAを使用して複数のコードカバレッジの実行をマージし、レポートを生成するためにEMMAを使用できるEMMA互換の出力を作成できるようになりました。
DCCは、32ビットと64ビットの両方の最大10.4.2のDelphiと互換性があります。
SonarqubeのXMLレポートの結果を統合できます。詳細については、こちらのDelphi Sonarqubeプラグインまたは新しいバージョンをご覧ください。
Hudson Emmaプラグインを使用してXMLレポートを統合できます。 HTMLレポートは、HTML Publisherプラグインを使用して統合できます。
最新のリリースは、DevFactoryとMendrixの寛大なサポートを通じて可能になりました。
このプロジェクトは、エマなどのJavaの世界の素晴らしいツールに触発されました。このプロジェクトは、1年以上にわたって私のハードドライブに未完成の形で残っています。最後にそれは滑り落ちました。
-m MapFile.map | 入力として使用されるマップファイル |
-e Executable.exe | 実行する実行可能ファイル |
-sd directory | ソースが見つかるディレクトリ |
-sp directory directory2 | ソースが見つかるディレクトリ |
-spf filename | Filenameを指し示したファイルにリストされているソースディレクトリを使用します。ファイル内の1行ごとに1つのディレクトリ |
-esm mask1 mask2 etc | ユニットのリストから除外するファイルマスクのリスト |
-ism mask1 mask2 etc | 提供されたファイルマスクに一致するユニットのみを挿入します |
-ecp prefix1 mask2 etc | カバレッジから除外するクラスプレフィックスのリスト |
-od directory | 出力ファイルが配置されるディレクトリ - 注 - ディレクトリが存在する必要があります |
-u TestUnit TestUnit2 | コードカバレッジが確認されるユニット |
-uf filename | ファイルに指されたファイルに記載されているカバーユニット。ファイル内の1行ごとに1ユニット |
-v | 冗長出力を表示します |
-dproj ProjectFile.dproj | ソース監督、実行可能な名前、コードページ、その他のオプションをプロジェクトファイルを解析します。コードページのような単一の値のみを持つことができるオプションは、複数の関連スイッチが発生した場合、外観の順に上書きされることに注意してください。 |
-a Param Param2 | コードカバレッジが確認されるアプリケーションに渡すパラメーター。 ^はエスケープキャラクターです |
-lt [filename] | テキストログファイルへのイベントをログ。デフォルトのファイル名は:delphi-code-coverage-debug.log |
-lapi | Windows API OutputDebugstringへのイベントをログに記録します |
-ife | ファイル拡張機能を含める - これは「common.encodings」が「common」に「変換」されるのを止めます |
-efe | ファイル拡張子を除外 -これにより、「common.encodings.pas」に「変換」されます。これはデフォルトでオンになっています。 |
-emma | 出力ディレクトリの「カバレッジ」としてEMMAカバレッジ出力を生成します。 |
-emma21 | 出力ディレクトリの「カバレッジ」としてemma21カバレッジ出力を生成します。 |
-meta | EMMA出力を生成するときに、個別のメタとカバレッジファイルを生成します - 「カバレッジ」と「カバレッジ」は、メタデータとカバレッジデータのために生成されます。注:ニーズ - エマも同様です。 |
-xml | XMLカバレッジ出力を生成 - 出力ディレクトリで「codecoverage_summary.xml」としてXML出力を生成します。 |
-xmllines | 生成されたXMLカバレッジ出力にラインカバレッジを追加します。 |
-xmlgenerics | 同じファイル名の複数の発生のためのラインカバレッジを組み合わせます(特に一般的なクラスの場合は便利です)。 |
-html | 出力ディレクトリで「codecoverage_summary.html」としてHTMLカバレッジ出力を生成します。 |
-uns dll_or_exe unitname [unitname_2] | モジュール内のリストされているユニットのみの場合にのみ、個別の名前空間(名前空間名は拡張機能のないモジュールの名前になります)を作成します |
-mns name dll_or_exe [dll_or_exe_2] | リストされているdll:sの指定された名前で別の名前空間を作成します。これらのモジュールにロードされたすべてのモジュールは、名前が付けられます。 |
-lcl LineCountLimit | ラインが指定された制限まで実行される回数数 |
-cp CodePage | コードページソースファイルの番号 |
-tec | 検査されたアプリケーションの出口をパススルーします |
-twd | ワーキングディレクトリとしてアプリケーションのパスを使用します |
Delphiコードカバレッジは、Mozilla Public Licensev。2.0の条件に基づいてライセンスされています。 http://mozilla.org/mpl/2.0/でライセンスのコピーを入手できます。