このセクションでは、 特定の静的解析違反をレポートしないようにする方法について説明します。たとえば、通常はルールに従って静的解析を実行するものですが、ときには例外的な状況のためにルールを無視したい場合もあります。抑制スキーマは、GUI で入力したりソースコードに直接定義したりすることができます。

このセクションの内容:

抑制とは

抑制は、 SOAtest が特定の静的解析タスクの追加発生をレポートさせないために使用します (ひとつのルールから複数のタスクがレポートされる場合もあります) 。抑制された違反メッセージは、 [品質タスク] ビューの代わりに [抑制] ビューに表示されます。そのため、ユーザーは必要に応じて抑制された違反をモニターし、解析結果エリアでは他のエラーにフォーカスすることができます。

通常はルールに従って静的解析を実行しますが、例外的な状況によってルールを無視したい場合に抑制機能を使用します。抑制機能を使用すると、意図的なルール違反を繰り返しレポートされることなく、コードのチェックを続けることができます。「特定の違反メッセージ」ではなく「あるルールのすべての違反メッセージ」をレポートしないよう設定するには、テスト コンフィギュレーションでそのルールを無効化します。

抑制の設定はテスト コンフィギュレーションとは無関係です。混乱を避けるために以下の点に留意してください。

つまり、テスト コンフィギュレーションで選択したルールは解析中にチェックされますが、抑制の基準に一致する結果はレポートされません。 

 

抑制は指定の静的解析タスクをレポートしないようにする機能です (たとえば、「行 Y で発生したルール X の違反を修正してください」など) 。抑制は、ひとつのルールのすべての違反メッセージをレポートさせない機能ではありません。 

抑制の定義

[品質タスク] ビューに表示される静的解析タスクを抑制するには、次の操作を行います。

  1. [品質タスク] ビューで抑制したいタスク アイテムを右クリックし、ショートカット メニューの [タスクの抑制] をクリックします。
  2. [抑制された理由] ダイアログに抑制する理由を入力します。

タスクは "抑制" され、 [品質タスク] ビューから除去されます。代わりに [抑制] ビューにエントリが追加されます。プロジェクトの今後のテストで同じ静的解析違反が見つかった場合、 [抑制] ビューにレポートされ、 [品質タスク] ビューにはレポートされません。

抑制の参照

今後のテストでレポートされた抑制されたメッセージを参照するには、次の操作を行います。

[抑制] ビューには次の情報が表示されます。

[抑制] ビューのコンテンツを列に対してソートするには、列のヘッダーをクリックします。

 

編集するには、 [抑制] ビューで対象の抑制を右クリックし、ショートカット メニューの [メッセージの編集] または [理由の編集] をクリックします。編集ダイアログが開くので、メッセージまたは理由を修正します。

抑制フィルターで抑制の表示を制限する

抑制フィルターを使用して、 [抑制] ビューに表示させる抑制を制限できます。 

[抑制] ビューに表示させる抑制をフィルターするには、次の操作を行います。

  1. [抑制] ビューのツールバーの [フィルター] ボタンをクリックします。[フィルター] ダイアログが表示されます。
  2. フィルターを有効にするには、 [有効] チェックボックスをオンにします。
  3. 適用するフィルターを設定します。以下のオプションがあります。

抑制の解除

[抑制] ビューで解除する抑制を選択し、 [抑制] ビューの右上にある赤い X マークの [選択された抑制の削除] ボタンをクリックします。

今後は、このプロジェクトのテストで同じ静的解析違反が検出された場合、そのタスクが [品質タスク] ビューに表示されます。