概要

単体テスト アシスタントを使用すると、単体テストアシスタント ビューまたは IDE のコンテキスト メニューで [テスト ケースの追加] オプションをクリックすることで、抽象クラスやそのスーパークラス、またプロジェクト エクスプローラーで選択されたファイルやパッケージのメソッドに対して、複数のテスト ケースを簡単に作成できます。単体テスト アシスタントはメソッドを解析し、初期値とサンプル アサーションを含む実行可能なテスト ケースを生成します。値やアサーションは、簡単に変更またはコメント解除できます。

最小 RAM 要件

一括作成を行う場合、UTA は 2 GB の RAM を必要とします。大規模なコードに対して複数のテスト ケースを作成する場合、IDE が使用する RAM を 4 GB に設定することを推奨します。

IntelliJ IDEA での一括作成

IntelliJ の [Synchronize files on frame or editor tab activation] オプションをオフにすることを推奨します。このオプションがオンの場合、UTA はテスト作成プロセスを異常終了してから再開する場合があり、これは単一のテストの生成が失敗したり、テストが不完全になったりする原因になる可能性があります。オプションをオフにするには、次の操作を行います。

  1. IntelliJ IDEA で [File] メニューの [Settings] をクリックします。
  2. [Appearance & Behavior] > [System Settings] を選択します。
  3. [Synchronize files on frame or editor tab activation] オプションをオフにします。

private メソッド

UTA の設定で [private メソッドのテストを作成] オプションが有効な場合 (「設定の構成」を参照)、UTA は選択されたクラスの private メソッドに対するテストを作成します。デフォルトでは、[private メソッドのテストを作成] オプションはオフです。業界のベスト プラクティスでは、private メソッドを直接テストするのではなく、private メソッドを呼び出すアクセス可能なメソッドのテストを作成することで private メソッドをテストするよう推奨されています。

1 つのファイルに対して複数のテストを作成

  1. 以下のいずれかの方法で [単体テスト アシスタント - テスト ケースの追加] ダイアログを開きます。
    - エディターでクラスを選択し、 単体テスト アシスタント ビューの [テスト ケースの追加] アクション リンク をクリックします。

      
    - プロジェクト エクスプローラーでファイルを右クリックし、コンテキスト メニューの [単体テスト] > [テスト ケースの追加] をクリックします。
      

    複数の Spring テスト

    Spring コンポーネントに対して複数のテストを作成する場合、ボタンのラベルは [Spring テスト ケースの追加] になります。UTA での Spring 単体テストの作成および設定に関する詳細は、「Spring 単体テストの作成」を参照してください。

  2.  テスト タイプを指定します。
    - 通常 - 通常のテスト ケースを作成します。
    - パラメータライズ - パラメータライズド テスト ケースを作成します (詳細は「パラメータライズされた単体テストの作成」 を参照)。
    - Combined - 異なる引数でテスト可能なメソッドについてはパラメータライズド テスト ケースを作成します。その他のメソッドについては通常のテスト ケースを作成します。
    テスト ケースを作成するメソッドを選択します (パラメータライズされたテスト ケースの作成の詳細については「パラメータライズされた単体テストの作成」を参照してください)。


  3. オブジェクト初期化モードを指定します。
    - 深く -(デフォルト値) テスト対象メソッドおよびテスト実行時に呼び出された他のメソッドから収集されたデータを使用してオブジェクトおよびモックを準備します。
    - 浅く - テスト対象メソッドから収集されたデータを使用してオブジェクトおよびモックを準備します。
  4. モックの初期化方法を指定します。
    - テスト メソッド内で設定 - テスト対象オブジェクトおよびその依存関係をテスト メソッド内で宣言して初期化することでモックを初期化します。
    - @InjectMocks の使用 - @InjectMocks アノテーションを使用してモック インジェクションを実行するフィールドをマークし、@Mock を使用して依存関係をマークすることでモックを初期化します。
    詳細については「Configuring Mock Initialization」を参照してください。
      

  5. (任意) [作成されたテストの実行タイムアウト (ミリ秒)] オプションを有効または無効にし、このテストのセットを実行する際の制限時間 (ミリ秒単位) を指定します。この制限時間が過ぎると、テスト実行が停止し、テストが失敗します。エラー情報は UTA インターフェイスの推奨事項として表示されます。デフォルトでこのオプションはオンであり、値として 1000 が設定されています。
  6. テスト ケースを作成するメソッドを選択します ([すべて選択] または [すべて選択解除] ボタンを使用して簡単に選択を行うことができます)。

    Spring テスト

    UTA が 選択されたリソース内で Spring クラスを検出すると、追加のオプションが表示されます。

    Spring クラスのテスト内で Spring テスト フレームワークを使用する - Spring クラスに対して作成するテストの種類を指定します。このオプションが有効な場合、UTA は Spring テスト フレームワークを使用してテストを作成します (詳細は「Spring MVC Test Framework」を参照)。オプションがオフの場合、標準の JUnit テストを作成します。

    Spring ハンドラー メソッドの選択 - すべての Spring コントローラー ハンドラー メソッドを選択し、リスト内の他のメソッドをすべて選択解除できます。


    Spring フレームワークのサポートに関する詳細は、「Spring 単体テストの作成」を参照してください。

  7. [OK] をクリックしてテスト ケースを作成します。
    (info)UTA ファイル内の選択されたすべてのメソッド (すでにテストが存在するメソッドも含む) に対して新規テスト ケースを追加します。
  8. テストを確認し、必要に応じてテストを変更するか、デフォルトの UTA 値を変更します。



  9. UTA でテストを実行し、カバレッジ情報および可能な改善策に関する推奨事項を取得します (「単体テスト アシスタントを使用した単体テストの実行」を参照)。

複数のファイルに対して複数のテストを作成

複数のファイルのテスト ケースを作成することもできます。

  1. IDE でファイル、パッケージ、またはプロジェクトを右クリックします。
    (info)パッケージ エクスプローラーで個別のメソッドを複数選択した場合、メソッドが同じクラスに属しているときは、個々のメソッドに対してテスト ケースを作成できます。異なるクラスのメソッドを選択した場合、またはメソッドとクラスまたはパッケージを同時に選択した場合、テスト ケースは生成されません。

  2. [単体テスト] > [テスト ケースの追加] をクリックして[単体テスト アシスタント - テスト ケースの追加] ダイアログを開きます。

     

  3. 1 つのファイルに対して複数のテストを作成」セクションのステップ 2-5 の説明に従ってオプションを設定します。
  4. (任意) [ライセンス使用状況のサマリー] オプションの上にカーソルを位置付け、選択されたリソースのテスト ケース作成に必要な見積りトークン数を表示します。テストが生成されると、サマリー ダイアログが開き、実際に消費されたトークンの数と、残りのトークンの数が表示されます (「ライセンス」を参照)。



  5. [OK] をクリックしてテスト ケースを作成します。UTA はテストできないファイルやテスト クラスがすでに存在するファイルをスキップします。

ライセンス

複数のファイルに対するテスト ケースの作成には、「Bulk creation」ライセンス機能が必要です。この機能は、テスト ケースが生成されたファイル数をモニターするライセンス トークンを提供します (トークンの数は、ライセンス契約に依存します)。複数のファイルに対してテスト ケースの作成を行うと、UTA は選択された .java ファイルごとに 1 つのトークンを消費します。

(info) UTA がテスト ケースを生成しなかったファイル (インターフェイスや抽象クラスなど) については、トークンは消費されません。

(info) 特定の java ファイルに対して 1 回トークンが消費されると、最初のテストが削除されていても、テストの再生成によってトークンは消費されません。

推奨されるワークフロー

テスト作成を簡略化するため、利用可能なアサーションで複数のテストを更新する UTA の機能を活用することを推奨します。

  1. UTA の設定で [Generate sample assertions] オプションをオフにします (「設定の構成」を参照)。
  2. 1 つのファイル、パッケージ、プロジェクトのメソッドに対して複数のテストを作成します (「Creating Multiple Tests from the Context Menu」を参照)。
  3. テストを更新して適切な入力値を指定します。
  4. テストを実行し、成功することを確認します。
  5. ステップ 2 で選択したファイル、パッケージ、プロジェクトを右クリックします。
  6. コンテキスト メニューの [単体テスト] > [トラックしてアサーションを作成] をクリックします。

詳細は「オブジェクトの変更の追跡とアサーションの作成」を参照してください。

  • No labels