[スコープ] タブは、解析またはテストするコードを決定します。[スコープ] タブの設定は、ソース コードの静的解析にのみ適用されます。このセクションの内容:
テスト コンフィギュレーションを設定して共有するには
テスト コンフィギュレーションの設定と共有に関連する全般的な操作方法は、Parasoft Test ファミリー全体で統一されています。詳細については、「テスト コンフィギュレーションとルールの設定」 を参照してください。
SOAtest のテストでは、テスト コンフィギュレーション のスコープ基準を満たす、選択されたリソース中のすべてのコードに対して、指定のアクションが実行されます。デフォルトでは、 テスト コンフィギュレーションの実行時に選択されていたリソース中のすべてのコードがチェックされます。ただし、[スコープ] タブを使って以下のような制限をかけることもできます。
- 指定の日付以降に追加/変更されたファイルまたは行だけをテストする。
- ローカル マシンで追加/変更されたファイルまたは行だけをテストする。
- 特定のユーザーによって変更されたファイルだけをテストする。
- 特定のフィルター条件に一致するファイルだけをテストする。
一部のファイル フィルターと行フィルターは、サポート対象のソース管理システムで管理されているプロジェクトにだけ適用されます。
ファイル フィルター
ファイル フィルターは、指定のタイムスタンプあるいは作成者条件に一致しないファイルをテストから除外します。
- 時間オプション: 指定の時間条件に合わないファイルをテスト対象から外します。以下のオプションがあります。
- 時間フィルターなし: 最終変更日に基づいてファイルをテスト対象から除外しません。
- 締め切り後に追加または変更されたファイルだけをテスト: 指定の日付以降に追加または変更がなかったファイルがテスト対象から外されます。
- 指定した期間に追加または変更されたファイルだけをテスト: 指定の期間に追加または変更されなかったファイルがテスト対象から外されます。
- 作業ブランチと次のブランチの間に更新されたファイルだけをテストする: 開発者の作業ブランチ (ワークスペース) と指定されたブランチ (または当該オプションが有効な場合、検出されたデフォルトの統合ストリーム) の間で変更されなかったファイルをテスト対象から除外します。ストリーム名は、開発者の作業ストリームの親の階層にあるストリームです。デフォルトの統合ストリームは、開発者の作業ストリームの親ストリームです。たとえば、[Main] --- [Integration] --- [Developer] という階層がある場合、Integration が Developer ストリームのデフォルトの統合ストリームです。この機能は、サポートされるソース管理システムのファイルにのみ適用されます。
- ローカルで追加または変更されたファイルだけをテスト: ローカル マシンで追加または変更がなかったファイルをテスト対象から除外します。この機能が適用されるのは、SOAtest がサポートするソース管理システムで管理されているプロジェクトだけです。
- 作成者オプション : 指定の作成者条件に合わないファイルをテスト対象から外します。次のオプションがあります。
- 作成者フィルターなし: ファイル作成者に基づいてファイルをテスト対象から除外しません。
- ユーザーが作成したファイルだけをテスト: 指定のユーザーが作成者ではないファイルをテスト対象から除外します (つまり、別のユーザーが作成したファイルを除外します)。
- パス オプション: 指定したフィルター条件に一致するファイルをフィルタリングするよう SOAtest を構成します。含めるファイル タイプを指定するには [承認] フィルターを使用します。除外するファイル タイプを指定するには [拒否] フィルターを使用します。なお、Code Review カテゴリのテスト コンフィギュレーションの場合は一般的なフィルタリング オプションがあらかじめ設定されています。
フィルターの例
ヒント
- Perl 形式の式を使用できます。
- 以下のワイルド カードをサポートします。
- * は、スラッシュ (/) を除く 0 個以上の文字と一致します。
- ? は、スラッシュ (/) を除いた任意の 1 個の文字と一致します。
- ** は、スラッシュ (/) も含めて 0 個以上の文字と一致します。** を使用すると、パス要素を指定できます。
- 以下の要素の例がデフォルトでコード レビューの設定に追加されています。
- 拒否されるワイルドカードのサンプル リストに **/bin/**/*.properties が追加されています。
- 拒否される正規表現のリストに (.*?/(bin|obj)(/x86|/x64){0,1}/(Debug|Release)/.*?\\.(dll|exe|pdb))$ が追加されています。
正規表現を使って「差分」を表すことができます。たとえば、TODO タグを追加、削除、変更したソース コードだけをフラグする場合、[差分] フィールドに次のように指定します。
.*TODO.*
例
基本的なファイル マスクとして以下があります。
- *.java, *.xml, *.properties
- *.c, *.cpp, *.h, *.cc, *.hpp, makefile, .project, .classpath
- *.c, *.cpp, *.h, *.cc, *.hpp, makefile, *.sln, *.prj, *.res
- *.cs, *.vb, *.sln, *.prj, *.resx
bank または customer というフォルダーをパスに含むすべてのファイルを含めるには、次のように指定します。
- **/bank/**, **/customer/**
bank で始まるフォルダー、 customer を含むフォルダー、および invoice で終わるフォルダーをパスに含むすべてのファイルを含めるには、次のように指定します。
- **/bank*/**, **/*customer*/**, **/*invoice/**
1) 名前が "Test" で開始する 2) 任意のプロジェクトの src/test ディレクトリ内にある"security" サブ フォルダー中にある、という条件を満たす全 .java ファイルを含めるには、次のように指定します。
**/src/test/**/security/Test*.java
1) ATM ソリューションにある 2) ATMLib プロジェクトにある 3) ComanyTests サブフォルダー内にある 4) "Test" で名前が開始するという条件を満たす全 .cs ファイルを含めるには、次のように指定します。
ATM/ATMLib/CompanyTests/**/Test*.cs
行フィルター
行フィルターは、SOAtest のテスト対象のコード行を制限します。行フィルターよりもファイル フィルターの方が先に適用されるので、行フィルターに到達するコードは、ファイル フィルターを通過している必要があります。行フィルターで利用できるオプションは次のとおりです。
- 時間オプション: 指定の時間条件に合わないコード行/ファイルをテスト対象から除外します。以下のオプションがあります。
- 時間フィルターなし: 最終変更日に基づいてコード行をテスト対象から除外しません。
- 締め切り後に追加または変更された行だけをテスト: 指定の日付以降に追加/変更がなかったコード行は、テストの対象から外されます。この機能が適用されるのは、SOAtest がサポートするソース管理システムで管理されているプロジェクトだけです。
- 指定した期間に追加または変更された行だけをテスト: 指定の期間に追加または変更されなかったコード行は、テストの対象から外されます。
- ローカルで追加または変更された行だけをテスト: ローカル マシンで追加/変更がなかったコード行はテストの対象から外されます。この機能が適用されるのは、SOAtest がサポートするソース管理システムで管理されているプロジェクトだけです。
- 作成者オプション : 指定の作成者条件に合わないコード行をテスト対象から外します。次のオプションがあります。
- 作成者フィルターなし: ファイル作成者に基づいてコード行をテスト対象から除外しません。
- ユーザーが作成した行だけをテスト: 指定のユーザーが作成していないコード行を、テスト対象から除外します。たとえばこのオプションを使って、自分 (あるいは選択したグループ) が作業しているファイルだけに集中することができます。複数のユーザーを指定するには、ユーザー名をカンマで区切って入力します。
スコープと作成者の設定
コードの作成者情報と最終変更日は、[スコープと作成者] の設定によって決まります。詳細については「タスクの割り当てとコード作成者の設定」を参照してください。