このセクションでは、単体テスト アシスタントを設定する方法を説明します。

このセクションの内容

全般的なオプションの設定

UTA の全般的なオプションを設定するには、[Parasoft] メニューの [設定] > [単体テスト アシスタント] をクリックします。

テスト ソース フォルダー

UTA で作成したテストを保存する場所のルート ディレクトリを指定します。デフォルトでは、[プロジェクト設定に基づく] オプションがオンであり、プロジェクトの設定を読み取ってテストを保存する場所を決定します。プロジェクトにテストの場所が指定されていない場合、プロジェクトの設定を更新してテスト ソース フォルダーを指定するか、いずれかの事前定義済みパターンに切り替えるか、以下の変数を使用して手動でパターンを作成します。

${project_name} - テスト対象クラスを含むプロジェクト (Intelli の場合はモジュール) の名前
${source_folder} - プロジェクトのソース ファイルを含むフォルダーの名前

テスト クラス名のパターン

このオプションを使用すると、テストのパッケージおよびクラス名のパターンを指定できます。デフォルトのパターンは "${package_name}.${class_name}${test_kind}Test" であり、テストをテスト対象クラスと同じパッケージに含め、クラス名に "${test_kind}Test" という接尾辞を付加します。以下の変数を使用してカスタム パターンを指定することもできます。

${class_name} - テスト対象クラスの名前
${package_name} - テスト対象クラスを含むパッケージの名前
${test_kind} - テスト タイプの名前。これはファイル名に追加されます。この変数は次の値を取ることができます:
          - Spring - Spring テストを JUnit 4 および 5 の他のテストと区別します。
          - Parameterized - パラメータライズド テストを JUnit 4 の通常のテストと区別します。JUnit 5 では、通常のテスト ケースとパラメータライズされたテスト ケースが同じファイルに追加されます。

Spring テストまたはパラメータライズド テスト以外のテストでは、${test_kind} 変数は空文字に解決されます。

新規テストのテスト フレームワーク

UTA が新規テストの作成に使用するテスト フレームワークを指定します。JUnit 4 または JUnit 5 を選択できます。

テスト作成オプション

private メソッドのテストを作成

private メソッドの単体テストを作成します。このオプションがオンの場合:

テストにタイムアウトを設定 (ミリ秒)

[テスト スイートの作成] オプションで作成されたテスト スイートの実行の制限時間をミリ秒単位で指定します。制限時間を超過した場合、テスト実行が中止され、テスト スイートは失敗します。また、エラー情報が UTA インターフェイスの推奨事項として表示されます。「テスト スイートの作成」を参照してください。

サンプル アサーションの生成

このオプションがオンの場合、UTA は基本的なテスト ケースを作成する際、コードのコメントとして自動的にアサーション テンプレートを生成します。詳細は「基本的な単体テストの作成」を参照してください。

[テスト スイートの作成] オプションを使用して作成されたテスト スイートには、このオプションは適用されません。

カバレッジを増加させるテスト ケースだけを追加する

このオプションがオンの場合、カバレッジを増加させるテスト ケースだけが一括作成時に追加されます (「複数のファイルに対してテスト スイートを作成」を参照)。

ファクトリ メソッド オプション

タグ付けされたファクトリ メソッドを自動的に発見

このオプションが有効な場合、UTA は以下を実行します。

  • IDE 起動時にすべてのプロジェクトをスキャンしてファクトリ メソッドを探します。
  • プロジェクトが変更されたとき (たとえば Java ファイルまたはプロジェクトを作成または削除したとき)、ファクトリ メソッドの更新を検索します。

詳細については「ファクトリ メソッドの設定」を参照してください。 

パラメータライズド テスト

作成アクションの有効化

このオプションがオンの場合、UTA はパラメータライズド テスト ケースを作成するためのアクション リンクを表示します。「パラメータライズされた単体テストの作成」を参照してください。

パラメータライズド テストは、[新規テストのテスト フレームワーク] オプションで設定したテスト フレームワークに依存します。

  • JUnit 5 の場合、[Unit 5 Parameterized] が自動的にオンになります。
  • JUnit 4 の場合、パラメータライズド テスト ケースの作成に使用するフレームワークを選択してください。

[テスト スイートの作成] オプションを使用して作成されたテスト スイートには、このオプションは適用されません。

詳細設定

パラメータライズド テスト ケース作成のための入力データを設定します。

1 つのテスト ケースに対して作成されるパラメーター セットの最大数 

1 つのテスト ケースに対して作成されるパラメーター バリアントの最大行数を指定します。

テスト データの生成先

テスト ケースが保存される場所を指定します。ドロップダウン メニューから [コード] または [CSV] を選択します。

CSV について

  • CSV 形式は、JUnitParams および JUnit 5 のパラメータライズ テスト タイプでサポートされています。
  • CSV は UTF-8 文字エンコーディングをサポートしています。
  • CSV ファイルは Java ファイルと同じフォルダーに保存されます。ビルド システムで指定されたリソース フォルダーと場所が一致していない場合、CSV ファイルを適切な場所にコピーします。

パラメータライズ値

[タイプの選択] ドロップダウン メニューからデータ タイプを選択し、リストの値を追加、編集、削除することで、デフォルトの値のリストをカスタマイズできます。[検索] フィールドを使用すると、特定の値をすばやく検索できます。

文字エンコーディング

新しい値を追加する場合、ファイルが正しく生成されるよう、値の文字エンコーディングは、ファイルの保存時に使用される文字エンコーディングと一致していなければなりません。 

Spring フレームワーク テスト

作成アクションの有効化

このオプションがオンの場合、UTA は Spring テスト ケースを作成するためのアクション リンクを表示します。「Spring 単体テストの作成」を参照してください。

[テスト スイートの作成] オプションを使用して作成されたテスト スイートには、このオプションは適用されません。

デフォルトの ContextConfiguration 属性

Spring テスト作成時に ContextConfiguration アノテーションに含める属性を指定します。「ContextConfiguration アノテーションによる Spring テストの設定」を参照してください。

実行モニター オプションの設定

UTA 実行モニター オプションを設定すると、テスト実行時のデータ収集の制限値を指定できます。さらに、制限を超過するのを防ぐため、UTA によるテスト実行時にモニターから除外するパッケージやクラスを指定できます。

UTA のモック オプションを設定するには、[Parasoft] メニューの [設定] > [単体テスト アシスタント] > [実行モニター] をクリックします。

除外するパッケージおよびクラス

モニターから除外するパッケージおよびクラスのリストを指定します。[新規] をクリックし、パッケージまたはクラスの修飾名を指定します (ワイルド カードはサポートされていません)。

実行フロー データ収集の制限

これらのオプションを設定すると、実行時のデータ収集の制限値を指定できます。

  • メソッド呼び出しの最大の深さ - 解析中のメソッド呼び出しの最大の深さを指定します。
  • 単一のメソッドからのメソッド呼び出し最大回数 - 単一のメソッドからのサブメソッド呼び出しの最大回数を指定します。
  • メソッド呼び出し合計回数 - 解析中のメソッド呼び出し合計回数の最大値を指定します。

モック オプションの設定

UTA のモック オプションを設定するには、[Parasoft] メニューの [設定] > [単体テスト アシスタント] > [モック] をクリックします。

有効化

テストの作成および実行時にオブジェクトのモックを有効または無効にします。

モックにヘルパー メソッドを使用

ヘルパー メソッドの使用を有効または無効にします。このオプションが有効な場合、生成されるテスト クラスは、通常のテスト メソッドとオブジェクトを準備するがアサーションを作成しないヘルパー メソッドを分離します。 

静的メソッドおよびコンストラクターのモックを有効化 (Mockito inline 3.5 以降が必要)

情報

バージョン 2022.1 以降、static メソッドおよびコンストラクターのモックは Mockito で作成されます。この機能を利用するには、プロジェクトを更新して static メソッドおよびコンストラクターをサポートするバージョンの Mockito をインクルードする必要があります。手動で作成したモックについて Powermock with Mockito を引き続き利用したい場合、Mockito バージョン 3.12.4 を使用することを推奨します。Jtest 2022.1 より前のバージョンまたは手動で作成され、PowerMock を使用するテストは、テストが失敗しないよう更新する必要があります。詳細は「PowerMock with mockito-inline の実行でテストが失敗する場合」を参照してください。

UTA はテーブルで指定されたパターンに一致するメソッドを自動的にモック化します。新しいメソッドまたはパターンを追加するには、[新規] をクリックします。パターンの比較には修飾されたメソッド名およびワイルドカード (*) を使用します。.* または <init> で終わるパターンはコンストラクターに一致します。たとえば、次の設定は以下をモックします。

  • 名前の末尾が "Service" であるすべてのクラスのすべてのコンストラクター
  • "com.example" に含まれるすべてのサブパッケージ内のすべての DAO クラスのすべての静的メソッドおよびコンストラクター
  • InternalUtil クラスのすべてのメソッド

指定されたパターンがクラスのすべてのメソッドに一致する場合、UTA は mockStatic() メソッドを使用してクラスの静的メソッドをモックします。mockStatic() メソッドの詳細については、「mockStatic」を参照してください。
テーブルで指定された static メソッドおよびコンストラクターだけがモックされます。UTA はテスト作成時に自動的にモックをテスト テンプレートに追加するか、テスト実行後にモックを追加するのに役立つ推奨事項を表示します (「モックの作成」を参照)。

推奨事項の設定

テスト実行後に UTA が表示する推奨事項のタイプを指定します。

UTA の推奨事項を設定するには、[Parasoft] メニューの [設定] > [推奨事項] をクリックします。

以下のタイプの推奨事項を有効または無効にできます。

  • 他のスレッド - テストの状態に影響を与える可能性があるサイド スレッドを検出します。
  • アクセスできないフィールドのアサーション - 実行中に変更されたアクセスできないフィールドを検出し、アサーション テンプレートを生成します。
  • ファイルが作成されました - テスト実行中に作成されたが、実行後に削除されていないファイルを検出します。
  • モック可能な呼び出し - テストを適切に分離するために変更可能なモック オブジェクトへの呼び出しを検出します。
  • モック可能な静的呼び出し - モックするよう設定されている静的メソッドの呼び出しを検出します (「モック オプションの設定」を参照)。
  • アサーションなし - アサーションが行われていないケースを検出します。
  • 静的なフィールドの変更 - テスト実行中に静的フィールドが変更されたケースを検出します。
  • システム プロパティの変更 - テスト実行中に変更されたが、実行後に復元されていないシステム プロパティを検出します。
  • カバーされていないコード - カバーされていないコード ブロックを検出します。

UTA に表示される推奨事項のサンプルは、「単体テスト アシスタントを使用した単体テストの実行」を参照してください。

  • No labels