このセクションでは、 「コマンドライン インターフェイス (cli)」で説明されている C/C++test コマンドライン インターフェイス (cpptestcli) からテストを実行する方法について説明します。

このセクションの内容

前提条件

コマンドライン モードを使用するには、コマンドライン インターフェイスのライセンスが必要です (C/C++test Automation Edition に付属)。

C/C++test で利用できるコマンド ライン インターフェイスのライセンスは 2 つあります。

  1. Extended Command Line Mode は Automation Edition に含まれており、Custom Edition でも利用できます。
  2. Desktop Command Line Mode は Custom Edition で利用できます。Desktop Command Line Mode は、Extended Command Line Mode に似た機能を提供します。 ただし、並列処理において、特定のタスク (たとえば静的解析) に対して同時に実行でき る並列スレッドは 8 個までです。

セットアップの概要

Parasoft C/C++test Professional には 2 つのユーザー モードがあります。インタラクティブにデスクトップで C++test を 使用する「GUI モード」とコマンドライン インターフェイスを介して実行する「コマンドライン」モードです。コマンドライン インターフェイスは Automation Edition の標準機能です。 

コマンドライン モードは通常、定期的/ 継続的なビルドまたは自動回帰テストのインフラストラク チャと連携して、定期的/ 継続的なコード解析とテストを実行するために使用します。C/C++test の コマンドライン インターフェイスは、 Visual Studio ソリューション全体、またはソリューションの一部である 1 つ以上のプロジェクトまたはソースファイルに対して実行できます。 コマン ドライン インターフェイスの実行の一部として、C/C++test は次の 1 つ以上のことを実行します。

実行の一部として、C/C++test は (サポートされている場合) SCM クライアントを使って SCM システムから自動的にファイルの変更情報を取得します。そしてコード解析と実行されたテストの結果に基づいて特定の個人のためのタスクを生成します。

C++test 固有の実行オプションはテスト コンフィギュレーションと環境設定によって制御されま す。

テスト コンフィギュレーションについては、C/C++test のビルトイン テスト コンフィギュレーションをベースにして作成することも、GUI モードで新規に作成することもできます。ビルトイン テスト コンフィギュレーションは、そのまま使用するのではなく、ユーザー定義テスト コンフィギュレーションのためのテンプレートとして利用することを推奨します。

環境設定は C/C++test GUI から設定できます。ほとんどの環境設定は、コマンドライン インターフェイスの呼び出しにパラメーターとして渡される構成ファイルからも設定できます。設定ファイルの詳細については「ローカル設定ファイル ( オプション ファイル)」 を参照してください。GUI で設定した C/C++test の環境設定はデフォルトで適用されます。GUI の設定は、コマン ドライン モードで使用される構成ファイルの値で個別に上書きできます。そのため、ユーザーはす べてのコマンドライン実行で使用される基本的な環境設定を保持しつつ、必要に応じて特定のテスト コンフィギュレーションの特定の実行用に設定ファイルを用意できます。たとえば、テスト実行ごと に異なる情報をレポートに含める場合や、レポート名や E-mail ヘッダーなどのレポートの E-mail オプションを変更する場合などにこの方法が役立ちます。

ステップ 1: 環境設定

C/C++test の環境設定を見るには、[Parasoft] メニューの [設定] をクリックします。次の設定から開始します。

ステップ 2: テスト コンフィギュレーションのカスタマイズ

テスト コンフィギュレーションの設定」の説明に従ってユーザー定義テスト コンフィギュレーションを作成します。

ステップ 3: オプション ファイルの作成

ローカル設定ファイル (オプション ファイル)」の説明にあるようにオプション ファイルを作成します。

ステップ 4: 現在実行中のビルド システムでコマンドライン インター フェイスをアクティブにする (たとえばバッチ スクリプト)

たとえば、コマンドは次のようになります。

バッチの実行ごとにレポートが送信され、トレンド レポートが生成されます。レポートは [Parasoft] メニューの [探索] > [Team Server レポート] から取得することもできます。

テストの実行

コマンドラインからテストを実行するための全般的な手順は次のとおりです。

C/C++test は、テスト対象のソース ファイルがヘッダーをインクルードしていない限り、ヘッダーを直接テストしません。詳細については「ヘッダー ファイルを解析するには ? どのファイルが解析されるのか ?」 を参照してください。

C/C++test は、インスタンス化された関数テンプレートとインスタンス化されたクラス テンプレートのメンバーに対して静的解析と単体テストを実行できます。詳細は「C++test でのテンプレート関数のサポート」を参照してください。

  • C/C++test は、Cygwin の "/cygdrive/DISK/PATH" 書式を使って指定されたファイル パスをサポートしません。標準的な Windows のパス書式を使用してください。
  • シェル/ コンソールによって、ファイル パスのバックスラッシュを 2 つ重ねてエスケープする必要があります。例:"C:\\MyLocation\\MyFile"
  • -localsettings オプションを使ってオプション ファイルでファイル パスを使用する場合、ファイル パス中のすべてのバックスラッシュは 2 つ重ねてエスケープする必要があります。またはスラッシュを使用できます。例:"C:/MyLocation/MyFile"

cli の呼び出し

cpptestcli の一般的な書式は次のとおりです。

通常、cpptestcli の呼び出しには次の書式を使用します。

一部のファイルを解析/ テストから除外する場合 (たとえば自動生成ファイルを静的解析の対象から外す場合など)、解析/ テストの対象から外すリソースを指定できます。詳細については「テストから除外するリソースの指定」を参照してください。この設定を GUI で行うと、GUI からでもコマンドラインからでも、このプロジェクトのすべてのテストに対して設定が適用されます。

コマンドライン オプション

利用できる cpptestcli のオプションは次のとおりです。

全般的なオプション


Visual Studio IDE でプロジェクトをテストするためのオプション

オプション目的説明

-solution %SOLUTION_FILE%-solution %SOLUTION_FILE%使用するソリューションファイルの場所を指定します。

使用するソリューションファイルの場所を指定します。使用するソリューションファイルの場所を指定します。

N/A使用するソリューションファイルの場所を指定します。

-resource %RESOURCE%

テストするワークスペース リソースへのパスを %RESOURCE% で指定します。

複数のリソースを指定する場合は、このオプションを複数回使用します。

英数字以外の文字またはスペースがリソース パスに含まれる場合、値を引用符で囲みます。

%RESOURCE% が .properties ファイルの場合、com.parasoft.eclipse.checker.core.resources キーに対応する値がリソースのコロン (:) 区切りリストとして解釈されます。したがって、指定できるのは 1 つの properties ファイルだけです。%RESOURCE% が .lst ファイルの場合、各行が 1 つのリソースとして扱われます。コマンドラインでリソースを指定しない場合、ワークスペース全体がテストされます。

例えば、C++test ATM サンプルプログラム中のファイル ATM.cxx をテストするために、次のコマンドを使用できます。-resource "ATM/Source Files/ATM.cxx" (ソリューション名なし)

または

-resource "Examples/ATM/Source Files/ATM.cxx" (ソリューション名を指定)

その他の例:

-resource "MySolution/MyProject"

-resource "MySolution/MyProject/Source Files"

-resource "MySolution/MyProject/SourceFiles/MyClass.cpp"

-resource "c:\testedprojects.properties"

  • 有効なコマンドライン オプションのリストを参照するには、 cpptestcli -help を実行してください。
  • cpptestcli は、指定されたグループ マネージャーとアーキテクトにレポートを自動的に送信します。このレポートには、チームとプロジェクトのすべてのエラーが記載されると共に、エラー箇所を担当した開発者名も記載されます。エラーが発見されなかった場合でも、オプション ファイルで report.mail.on.error.only=true を設定していない限り、レポートは送信されます。
  • 適切な前提条件が満たされた場合、cpptestcli は各開発者に担当部分のエラー/ 結果だけのレポートを送信します。開発者の担当部分でエラーがレポートされなかった場合、その開発者にはレポートが送信されません。

ローカル設定ファイル (オプション ファイル)

ローカル設定ファイルをコマンドラインで渡して、レポート、タスクの割り当て、ライセンスといったオプションを制御することができます。ローカル設定ファイルを使用すると、以下のことが可能です。

プロジェクトごとにオプション ファイルを作成し、-localsettings オプションを使ってどのファイルを使用するかを指定できます。

ローカル設定ファイルの詳細および利用可能なオプションの一覧は、「ローカル設定の指定」を参照してください。