このセクションの内容

概要

dotTEST カバレッジ エージェントは、カバレッジ情報を収集する際、有効または無効にできます。カバレッジ エージェントを有効にすると、Coverage Agent Manager (CAM) に接続できます。CAM は、さまざまなテスト実行時にカバレッジを計測するための Web インターフェイスです。詳細については『Parasoft Coverage Agent Manager ユーザー ガイド』を参照してください。

カバレッジ エージェント REST クライアントが有効な場合でも無効な場合でも、ローカル カバレッジ レポートを生成して DTP に結果をアップロードすることが可能です。

.NET スタンドアロン アプリケーション

dotTEST は、.NET スタンドアロン アプリケーションのカバレッジを収集できます (専用の環境変数を使用した追加の依存ライブラリ設定または dotnet.exe のコマンドライン スイッチ --additional-deps はサポートされていません)。

.NET Web アプリケーション

coverage_wizard.exe ツールの機能を利用すると、テスト対象アプリケーションのエントリ ポイントおよび dotnet.exe へのパスを指定することで、 .NET Web アプリケーションのカバレッジを収集できます。詳細は「カバレッジ ウィザードの設定」を参照してください。

注意: 典型的なワークフローでは、dotTEST は IIS サーバーにデプロイされた Web アプリケーションのカバレッジを収集します。

dotTEST には、スタンドアロン アプリケーションの実行中にマネージド コードのカバレッジ情報を収集するための coverage_wizard.exe ツールが付属しています。coverage_wizard.exe ツールを実行すると、ウィザードが起動し、必要な情報を GUI で指定することができます。あるいは、コマンドライン オプションを使用して情報を指定することもできます。

カバレッジ ウィザードの設定

  1. <INSTALL_DIR>\coverage_wizard.exe ツールを実行し、以下の情報を指定します。
    - アプリケーションへのフルパス
    - コマンドライン引数
    - 作業ディレクトリ
    - エンジン ディレクトリへのフルパス

    .NET Web アプリケーションのカバレッジ収集

    [アプリケーションのフル パス] フィールドに dotnet.exe へのパスを入力し、[コマンドライン引数] フィールドにアプリケーションのエントリ ポイントを入力します。例:

  2. アプリケーションが使用する .NET CLR のバージョンを指定します。
  3. ウィザードがスクリプトを生成するディレクトリを指定します。
  4. カバレッジの収集にカバレッジ エージェント REST クライアントを使用するかしないかを指定します。
    - [カバレッジ エージェントの使用] オプションをオンにした場合、[管理者権限なしでカバレッジを収集する] オプションをオンまたはオフに設定し (「管理者権限なしでのカバレッジの収集」を参照)、ステップ 5 から 7 をスキップして [終了] をクリックします。
    - [カバレッジ エージェントなし] オプションをオンにした場合 (デフォルト)、ステップ 5 から 7 に進みます。

  5. -solution または -project スイッチを指定して、カバレッジをインポートするスコープを定義します。スイッチの指定は、DTP Engine の実行モジュールに渡され、ソースの場所を決定するのに使用されます。スイッチの詳細については「テスト スコープの設定」を参照してください。
  6. [実行前に古いカバレッジ データを削除する] オプションをオンまたはオフに設定します。このオプションはデフォルトでオンです。

    デフォルトでは、以前の実行で収集された実行時カバレッジ情報は削除されます。このオプションをオフにすると、前回実行時のデータは削除されません。

  7. [アプリケーションをただちに実行] オプションをオンまたはオフにします。このオプションがオンの場合、monitorCoverage.bat スクリプトが自動的に実行されます (このオプションをオフにした場合、ステップ 3 で指定した場所にウィザードが生成したスクリプトを使用して、手動でアプリケーションを起動する必要があります)。

コマンド ライン オプションの使用

オプションとともに coverage_wizard.exe を実行して、アプリケーション カバレッジの収集に必要な情報を指定することもできます。

coverage_wizard.exe -app [path] -workingDir [path] -appArgs [arguments] -commandsDir [path] -scope [dotTEST scope switch] -clr [version] -run

以下のオプションがあります。

オプション名説明
-app[path]アプリケーションへのフル パスです。
-workingDir[path]作業ディレクトリへのパスです。
-appArgs[argument]アプリケーション コマンド ラインの引数です。
-commandsDir [path]カバレッジ ツールが生成する *.bat スクリプトを保存するディレクトリを指定します。
-scope

-solution [path]
-project [path]

-solution または -project スイッチを指定して、インポート対象のカバレッジのスコープを指定します。スイッチは DTP Engine 実行モジュールに渡され、ソースの場所を特定するのに使われます。例:

-scope "-solution C:\temp\Scope.sln"

-scope "-project C:\temp\Scope.csproj"

スイッチの詳細については「テスト スコープの設定」を参照してください。

-clr

v20
v40

アプリケーションが使用する .NET CLR のバージョンを指定します。
-runnonemonitorCoverage.bat スクリプトを自動的に実行します (任意。-commandDir オプションで指定したディレクトリを開き、手動でスクリプトを実行することもできます)。
-doNotRemoveOldCoveragenone

各実行の前に古いカバレッジ データを削除しないよう指定します。このオプションが指定されていない場合、前回実行時に収集されたカバレッジ データは、デフォルトで削除されます。

-withCoverageAgentnoneカバレッジ エージェントを使用してカバレッジを収集するよう指定します。

カバレッジ エージェント REST クライアントを使用しないカバレッジの収集

カバレッジ ウィザードで、カバレッジ エージェント REST クライアントを使用しないで実行するよう設定した場合、ターゲット スクリプトのディレクトリとして指定されたディレクトリに以下のスクリプトが作成されます (「カバレッジ ウィザードの設定」を参照)。

  • アプリケーションを実行しモニターする monitorCoverage.bat
  • カバレッジ データをインポートしてレポートする importCoverage.bat
  1. monitorCoverage.bat スクリプトを実行します ([アプリケーションをただちに実行] オプションをオンにしてカバレッジ ウィザードを起動した場合、このステップをスキップします)。指定されたアプリケーションが実行されます。
  2. アプリケーションを操作してテストを実行します。
  3. アプリケーションを終了します。
  4. importCoverage.bat スクリプトを実行して次の場所にレポートを生成します: [Target scripts directory]\reports
  5. カバレッジ情報を参照します。

カバレッジ エージェント REST クライアントを使用したカバレッジの収集

カバレッジ ウィザードで、カバレッジ エージェント REST クライアントを使用して実行するよう設定した場合、ターゲット スクリプトのディレクトリとして指定されたディレクトリに以下のスクリプトが作成されます (「カバレッジ ウィザードの設定」を参照)。

  • アプリケーションを実行しモニターする monitorCoverage.bat
  • カバレッジ エージェントを実行する runCamAgent.bat

カバレッジ エージェントでアプリケーション カバレッジを収集するには、次の操作を行います。

  1. ソース コードの情報を含む静的カバレッジ ファイルを生成します (「ソース コードの情報を含む静的カバレッジ ファイルの生成」を参照)。

  2. runCamAgent.bat スクリプトを実行して カバレッジ エージェントを起動します。

    CAM の操作が終わるまで、カバレッジ エージェント プロセスを終了しないでください。

  3. monitorCoverage.bat スクリプトを実行してアプリケーションを起動します。

  4. Coverage Agent Manager に接続し、テストを実行します。詳細については「Parasoft Coverage Agent Manager」を参照してください。

  5. 実行時カバレッジおよびテスト結果をダウンロードします。

  6. アプリケーションを終了します。

デフォルトでは、カバレッジ エージェントは HTTP プロトコル経由で利用できます。HTTPS 経由で接続するには、実行前に runCamAgent.bat スクリプトを開いて Agent Client ツールの実行コマンド ラインを変更し、SSL 証明書の情報を渡します。例:

"<INSTALL_DIR>\integration\coverage\agent\agent_client.exe" -standalone -port 8050
-useSsl -certificateHash <SSL certificate hash> -camConfigFile <path to camConfigFile>

カバレッジ エージェント用に SSL 証明書を設定する方法の詳細および利用可能なオプションの一覧は、「HTTPS 経由での Coverage Agent への接続」および「エージェント クライアントのオプション」を参照してください。 

管理者権限なしでのカバレッジの収集

デフォルトでは、カバレッジ エージェント REST クライアントを使用したカバレッジ収集を行うには管理者権限が必要ですが、管理者権限のないユーザーでカバレッジを収集するよう設定することもできます。

  1. [管理者権限なしでカバレッジを収集する] オプションをオンにしてウィザードを起動します (「カバレッジ ウィザードの設定」を参照)。すると、次のスクリプトが追加で生成されます。
    - runCamAgentInit.bat
    - runCamAgentUninit.bat
  2. 管理者権限を持つユーザーで runCamAgentInit.bat スクリプトを実行し、カバレッジ エージェントのセットアップと初期化を行います。これによって、管理者権限のないユーザーが「カバレッジ エージェント REST クライアントを使用したカバレッジの収集」 で説明されているように、CAM を使用してテストを行えるようになります。

  3. テストが終了したら、runCamAgentUninit.bat スクリプトを実行してプロセスを停止します。

カバレッジ レポートの作成と DTP へのデータのアップロード

カバレッジ レポートの作成と DTP へのデータのアップロード」を参照してください。


  • No labels