単体テスト アシスタントは、個々のメソッドを異なる引数でテストするためのパラメータライズされたテストの作成を支援します。次の UTA オプションを使用してテスト ケースを追加します。
- パラメータライズ - 単体テスト アシスタント ビューで使用できます。このオプションを使用すると、エディターで選択した個々のメソッドに対してテスト テンプレートを追加できます。生成されたテンプレートは、手動で変更し、パラメータライズ用データを指定して完成させる必要があります。
- テスト ケースの追加 - 単体テスト アシスタント ビューおよび Eclipse のコンテキスト メニューで使用できます。このオプションを使用すると、エディターで選択されたメソッドまたは Eclipse のプロジェクト エクスプローラーで選択されたファイルやパッケージに対して複数のテスト ケースを追加できます。このオプションで生成されるテスト ケースに使用される入力データを設定することができます。詳細については「設定の構成」を参照してください。
パラメータライズされたテストの作成に使用する適切なフレームワークが設定されていることを確認してください (「設定の構成」を参照)。パラメータライズされたテストの作成は、JUnit 4 でだけサポートされています。
[パラメータライズ] オプションの使用
- 単体テスト アシスタント ビューがまだ開かれていない場合、Eclipse の [Parasoft] メニューの [ビューの表示] > [単体テスト アシスタント] をクリックします。
- エディターでメソッドを選択します。
- [パラメータライズ] アクション リンクをクリックします。
- パラメーターを入力してテスト テンプレートを完成させ、デフォルトの値を変更します。
- UTA でテストを実行し、カバレッジ情報および可能な改善策に関する推奨事項を取得します (「単体テスト アシスタントを使用した単体テストの実行」を参照)。
private メソッドに対するテストの作成
UTA は private メソッドのパラメータライズド テストを作成し、コードのカバレッジを上げることができます。
- UTA の設定で [private メソッドのテストを作成] オプションをオンにします (「構成の設定」を参照)。
- エディターで private メソッドを選択します。
- [パラメータライズド private] アクション リンクをクリックし、選択されたメソッドのテストを作成します。
デフォルトでは、[private メソッドのテストを作成] オプションはオフです。業界のベスト プラクティスでは、private メソッドを直接テストするのではなく、private メソッドを呼び出すアクセス可能なメソッドのテストを作成することで private メソッドをテストするよう推奨されています。
[テスト ケースの追加] オプションの使用
- エディターでメソッドを選択します。
- UTA インターフェイスで [テスト ケースの追加] ボタンをクリックします。
[単体テスト アシスタント - テスト ケースの追加] ダイアログが開きます。 - [パラメータライズ] オプションをオンにします (その他のオプションについては「複数の単体テストの作成」を参照)。
(JUnitParams の場合のみ) JUnitParams フレームワークを使用する場合、以下のオプションをカスタマイズします。
- 1 つのテスト ケースに対して作成されるパラメーター セットの最大数 オプションは、1 つのテスト ケースに対して作成されるパラメーターのバリエーションの最大行数を指定します。
- テスト データの生成先 オプションは、テスト ケースが保存される場所を指定します。ドロップダウン メニューから [コード] または [CSV] を選択します。デフォルト値はコードです。CSV について
- CSV は UTF-8 文字エンコーディングをサポートしています。
- CSV ファイルは Java ファイルと同じフォルダーに保存されます。ビルド システムで指定されたリソース フォルダーと場所が一致していない場合、CSV ファイルを適切な場所にコピーします。
JUnitParams フレームワークを使用する場合、Eclipse プロジェクトに JUnitParams ライブラリが追加されていることを確認してください。
- オブジェクト初期化モードを指定します。
- 深く -(デフォルト値) テスト対象メソッドおよびテスト実行時に呼び出された他のメソッドから収集されたデータを使用してオブジェクトおよびモックを準備します。
- 浅く - テスト対象メソッドから収集されたデータを使用してオブジェクトおよびモックを準備します。 - モックの初期化方法を指定します。
- テスト メソッド内で設定 - テスト対象オブジェクトおよびその依存関係をテスト メソッド内で宣言して初期化することでモックを初期化します。
- @InjectMocks の使用 - @InjectMocks アノテーションを使用してモック インジェクションを実行するフィールドをマークし、@Mock を使用して依存関係をマークすることでモックを初期化します。
詳細については「Configuring Mock Initialization」を参照してください。
- (任意) [作成されたテストの実行タイムアウト (ミリ秒)] オプションを有効または無効にし、このテストのセットを実行する際の制限時間 (ミリ秒単位) を指定します。この制限時間が過ぎると、テスト実行が停止し、テストが失敗します。エラー情報は UTA インターフェイスの推奨事項として表示されます。デフォルトでこのオプションはオンであり、値として 1000 が設定されています。
- テスト ケースを作成するメソッドを選択します。
- [OK] をクリックします。
- テストを参照し、値を変更したりサンプル アサーションのコメントを解除します。JUnitParams フレームワークを使用している場合、テストには事前に設定済みのパラメータライズ データが含まれています (設定の参照とカスタマイズについては「設定の構成」を参照してください)。
- UTA でテストを実行し、カバレッジ情報および可能な改善策に関する推奨事項を取得します (「単体テスト アシスタントを使用した単体テストの実行」を参照)。
あるいは、パッケージ エクスプローラーで Eclipse のコンテキスト メニューを使用してテスト ケースを追加することもできます。
- プロジェクト エクスプローラーでファイルまたはパッケージを右クリックします。
- [単体テスト] > [テスト ケースの追加] をクリックして単体テスト ダイアログを開き、上の手順 3 から 11 を行います。
複数のファイルまたはパッケージを選択した場合、単体テスト アシスタント ダイアログには個々のメソッドが表示されません。テスト クラスがまだ作成されていないすべてのテスト可能なファイルに対してテスト ケースが追加されます。UTA はテストできないファイルやテスト クラスがすでに存在するファイルをスキップします。
パッケージ エクスプローラーで個別のメソッドを複数選択した場合、メソッドが同じクラスに属しているときは、個々のメソッドに対してテスト ケースを作成できます。異なるクラスのメソッドを選択した場合、またはメソッドとクラスまたはパッケージを同時に選択した場合、テスト ケースは生成されません。