このセクションの内容

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

  1. IDE のメニューで [Parasoft] > [設定] > [単体テスト アシスタント]をクリックします。
  2. [テストの場所] フィールドに、テストを保存する場所を指定します。あらかじめ設定されたパターンの中から選択するか、カスタム パターンを入力します


    ドロップダウン メニューからオプションを選択するか、以下の変数を使用してパターンをカスタマイズできます。
    ${class_name} - テスト対象クラスの名前
    ${package_name} - テスト対象クラスを含むパッケージの名前
    ${source_folder} - プロジェクトのソース ファイルを含むフォルダーの名前
    ${project_name} - テスト対象クラスを含むプロジェクトの名前
    ${test_kind} - テスト タイプの名前。これはファイル名に追加されます。この変数は次の値を取ることができます:
              - Spring - Spring テストを JUnit 4 および 5 の他のテストと区別します。
              - Parameterized - パラメータライズド テストを JUnit 4 の通常のテストと区別します。JUnit 5 では、通常のテスト ケースとパラメータライズされたテスト ケースが同じファイルに追加されます。
  3. UTA が新規テストの作成に使用するテスト フレームワークを選択します。
    JUnit 4 を選択した場合、パラメータライズされたテストケースを作成するためのフレームワークを選択する必要があります。

    JUnit 5 を選択した場合は、パラメータライズされたテスト ケースを作成するために Junit 5 Parameterized が自動的に有効になります。

    [パラメータライズの設定] をクリックし、[テスト ケースの追加] オプションを使用してパラメータライズされたテスト ケースを作成する場合に使用する入力データを構成できます (詳細については「パラメータライズされた単体テストの作成」を参照)。

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

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

  4. テスト生成オプションを有効または無効にします。

    サンプル アサーションの生成 - 有効にした場合、UTA はテスト ケース作成時に自動的にアサーション テンプレートを生成します。アサーションはコード内にコメントとして作成されます。詳細については「基本的な単体テストの作成」を参照してください。このオプションは、デフォルトでオンです。
    private メソッドのテストを作成 - 有効にした場合、UTA は通常のテスト、private メソッドに対してパラメータライズド テスト、Spring テストを作成するリンクを表示します。このオプションはデフォルトでオフです。

  5. [タグ付けされたファクトリ メソッドを自動的に発見] オプションをオンまたはオフにします。オンの場合、UTA は自動的に以下を行います。
    - IDE 起動時にすべてのプロジェクトをスキャンしてファクトリ メソッドを探します。
    - プロジェクトが変更されたとき (たとえば Java ファイルまたはプロジェクトを作成または削除したとき)、ファクトリ メソッドの更新を検索します。
    詳細については「ファクトリ メソッドの設定」を参照してください。このオプションはデフォルトでオンです。


        

  6. (任意) Spring テスト作成時にContextConfiguration アノテーションに含める属性を指定します。「Spring 単体テストの作成」を参照してください。

        

  7. 実行後に表示する推奨事項の種類を指定します。

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

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

  8. [適用] をクリックします。

モック オプションの設定

  1. モック オプションを設定するには、[Parasoft] メニューの[設定] > [単体テスト アシスタント] > [モック] をクリックします。
  2. テストの作成および実行時にモック オブジェクトを有効にするには、[有効] チェック ボックスをオンにします。
  3. [モックにヘルパー メソッドを使用] オプションを有効または無効にします。このオプションが有効な場合、生成されるテスト クラスは、通常のテスト メソッドとオブジェクトを準備するがアサーションを作成しないヘルパー メソッドを分離します。 
  4. 使用するモック フレームワークを指定します。

    (info) 現在 PowerMock は JUnit 5 をサポートしていないため、これらのオプションは UTA が JUnit 4 を使用するよう設定されている場合にだけ利用できます (「Configuring General Options」を参照)。JUnit 5 でテストを作成する場合、デフォルトで Mockito フレームワークが使用されます。

    Mockito のバージョン

    UTA は使用している Mockito のバージョンを自動的に検出し、検出されたバージョンの API に従って単体テストを作成します。Mockito が検出されなかった場合、UTA は Mockito 2 を使用してテストを作成します。

  5. PowerMock を使用する場合、モックする静的メソッドおよびコンストラクターを指定します。新しいメソッドまたはパターンを追加するには、[新規] をクリックします。パターンの比較には修飾されたメソッド名およびワイルドカード (*) を使用します。 .* または <init> で終わるパターンはコンストラクターに一致します。たとえば、次の図の設定は、以下をモックします。
    - 名前の末尾が "Service" であるすべてのクラスのすべてのコンストラクター
    - "com.example" に含まれるすべてのサブパッケージ内のすべての DAO クラスのすべての静的メソッドおよびコンストラクター
    - InternalUtil クラスのすべてのメソッド



    指定されたパターンがクラスのすべてのメソッドに一致する場合、UTA は mockStatic() メソッドを使用してクラスのすべての静的メソッドをモックします。その他の場合は、 spy()メソッドを使用して、指定された個々のメソッドをモックします。mockStatic() および spy() メソッドの詳細については https://github.com/powermock/powermock/wiki/Mockito#usage を参照してください。

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

  6. [適用] をクリックします。

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

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

  1. [Parasoft] メニューの [設定] > [単体テスト アシスタント] > [Execution Monitor] をクリックします。
  2. モニターから除外するパッケージおよびクラスのリストを指定します。[新規] をクリックし、パッケージまたはクラスの修飾名を指定します (ワイルド カードはサポートされていません)。
  3. 実行中に収集するデータの上限を指定します。

    メソッド呼び出しの最大の深さ - 解析中のメソッド呼び出しの最大の深さを指定します。
    単一のメソッドからのメソッド呼び出し最大回数 - 単一のメソッドからのサブメソッド呼び出しの最大回数を指定します。
    メソッド呼び出し合計回数 - 解析中のメソッド呼び出し合計回数の最大値を指定します。
         
  4. [適用] をクリックします。
  • No labels