このセクションの内容
概要
カバレッジ エージェント REST クライアントを使用するワークフローと使用しないワークフローの 2 つがあり、どちらもローカル カバレッジ レポートを生成して DTP に結果をアップロードすることが可能です。
dotTEST には、スタンドアロン アプリケーションの実行中にマネージド コードのカバレッジ情報を収集するための coverage_wizard.exe
ツールが付属しています。coverage_wizard.exe
ツールを実行すると、ウィザードが起動し、必要な情報を GUI で指定することができます。あるいは、コマンドライン オプションを使用して情報を指定することもできます。
カバレッジ ウィザードの設定
.NET CLR 2.0 のサポートは非推奨であり、将来のリリースで削除される予定です。
<INSTALL_DIR>\coverage_wizard.exe
ツールを実行し、以下の情報を指定します。
- アプリケーションへのフルパス
- コマンドライン引数
- 作業ディレクトリ
- エンジン ディレクトリへのフルパス- アプリケーションが使用する .NET CLR のバージョンを指定します。
- ウィザードがスクリプトを生成するディレクトリを指定します。
カバレッジの収集にカバレッジ エージェント REST クライアントを使用するかしないかを指定します。
- [カバレッジ エージェントの使用] オプションをオンにした場合、[管理者権限なしでカバレッジを収集する] オプションをオンまたはオフに設定し (「管理者権限なしでのカバレッジの収集」を参照)、ステップ 5 から 7 をスキップして [終了] をクリックします。
- [カバレッジ エージェントなし] オプションをオンにした場合 (デフォルト)、ステップ 5 から 7 に進みます。-solution
または-project
スイッチを指定して、カバレッジをインポートするスコープを定義します。スイッチの指定は、DTP Engine の実行モジュールに渡され、ソースの場所を決定するのに使用されます。スイッチの詳細については「テスト スコープの設定」を参照してください。[実行前に古いカバレッジ データを削除する] オプションをオンまたはオフに設定します。このオプションはデフォルトでオンです。
デフォルトでは、以前の実行で収集された実行時カバレッジ情報は削除されます。このオプションをオフにすると、前回実行時のデータは削除されません。
- [アプリケーションをただちに実行] オプションをオンまたはオフにします。このオプションがオンの場合、
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 |
|
スイッチの詳細については「テスト スコープの設定」を参照してください。 |
-clr |
| アプリケーションが使用する .NET CLR のバージョンを指定します。 |
-run | none | monitorCoverage.bat スクリプトを自動的に実行します (任意。-commandDir オプションで指定したディレクトリを開き、手動でスクリプトを実行することもできます)。 |
-doNotRemoveOldCoverage | none | 各実行の前に古いカバレッジ データを削除しないよう指定します。このオプションが指定されていない場合、前回実行時に収集されたカバレッジ データは、デフォルトで削除されます。 |
-withCoverageAgent | none | カバレッジ エージェントを使用してカバレッジを収集するよう指定します。 |
カバレッジ エージェント REST クライアントを使用しないカバレッジの収集
カバレッジ ウィザードで、カバレッジ エージェント REST クライアントを使用しないで実行するよう設定した場合、ターゲット スクリプトのディレクトリとして指定されたディレクトリに以下のスクリプトが作成されます (「カバレッジ ウィザードの設定」を参照)。
- アプリケーションを実行しモニターする
monitorCoverage.bat
- カバレッジ データをインポートしてレポートする
importCoverage.bat
monitorCoverage.bat
スクリプトを実行します ([アプリケーションをただちに実行] オプションをオンにしてカバレッジ ウィザードを起動した場合、このステップをスキップします)。指定されたアプリケーションが実行されます。- アプリケーションを操作してテストを実行します。
- アプリケーションを終了します。
importCoverage.bat
スクリプトを実行して次の場所にレポートを生成します: [Target scripts directory]\reports- カバレッジ情報を参照します。
カバレッジ エージェント REST クライアントを使用したカバレッジの収集
カバレッジ ウィザードで、カバレッジ エージェント REST クライアントを使用して実行するよう設定した場合、ターゲット スクリプトのディレクトリとして指定されたディレクトリに以下のスクリプトが作成されます (「カバレッジ ウィザードの設定」を参照)。
- アプリケーションを実行しモニターする
monitorCoverage.bat
- カバレッジ エージェントを実行する
runCamAgent.bat
カバレッジ エージェントでアプリケーション カバレッジを収集するには、次の操作を行います。
ソース コードの情報を含む静的カバレッジ ファイルを生成します (「ソース コードの情報を含む静的カバレッジ ファイルの生成」を参照)。
runCamAgent.bat
スクリプトを実行して カバレッジ エージェントを起動します。monitorCoverage.bat
スクリプトを実行してアプリケーションを起動します。- テストを実行します。
実行時カバレッジおよびテスト結果をダウンロードします。
アプリケーションを終了します。
デフォルトでは、カバレッジ エージェントは HTTP プロトコル経由で利用できます。HTTPS 経由で接続するには、実行前に runCamAgent.bat
スクリプトを開いて Agent Client ツールの実行コマンド ラインを変更し、SSL 証明書の情報を渡します。例:
"<INSTALL_DIR>\integration\coverage\agent\agent_client.exe" -standalone -port 8050 -useSsl -certificateHash <SSL certificate hash>
カバレッジ エージェント用に SSL 証明書を設定する方法の詳細および利用可能なオプションの一覧は、「HTTPS 経由での Coverage Agent への接続」および「エージェント クライアントのオプション」を参照してください。
管理者権限なしでのカバレッジの収集
デフォルトでは、カバレッジ エージェント REST クライアントを使用したカバレッジ収集を行うには管理者権限が必要ですが、管理者権限のないユーザーでカバレッジを収集するよう設定することもできます。
- [管理者権限なしでカバレッジを収集する] オプションをオンにしてウィザードを起動します (「カバレッジ ウィザードの設定」を参照)。すると、次のスクリプトが追加で生成されます。
- runCamAgentInit.bat
- runCamAgentUninit.bat 管理者権限を持つユーザーで
runCamAgentInit.bat
スクリプトを実行し、カバレッジ エージェントのセットアップと初期化を行います。これによって、「カバレッジ エージェント REST クライアントを使用したカバレッジの収集」 で説明されているように、管理者権限のないユーザーがテストを行えるようになります。テストが終了したら、
runCamAgentUninit.bat
スクリプトを実行してプロセスを停止します。
カバレッジ レポートの作成と DTP へのデータのアップロード
「カバレッジ レポートの作成と DTP へのデータのアップロード」を参照してください。