このセクションでは、Jtest デスクトップ ユーザー向けにテスト影響分析のワークフローを説明します。コマンド ラインからのテスト影響分析の実行については、「Maven を使用したテストと解析」および「Gradle を使用したテストと解析」を参照してください。
このセクションの内容
Jtest のテスト影響分析機能は、ローカルでのコードの変更の影響を受けるテスト ケースを自動的に検出することで、テスト作業の効率化を支援します。これにより、変更の影響を受けるテストだけを識別して再実行することができます。
Jtest はカバレッジ データを使用してコード セクションとそのセクションをカバーするテストを関連付けます。そのため、テストを実行する前に、IDE にカバレッジ データがインポートされていることを確認してください。
テスト影響分析は、IDE と統合されたバージョン管理システムに格納されたプロジェクトで利用できます。
1 Java 16 以上を使用して IDE を実行している場合、[影響を受ける単体テスト] ビューに正しい結果が表示されません。回避策については「既知の制限事項」を参照してください。
2 追加の依存関係が必要です。詳細については「既知の制限事項」を参照してください。
テストを実行する前に、IDE のカバレッジ ビューに変更対象ソース コードに関連するカバレッジデータが表示されていることを確認します。それには、Jtest を単体テストの実行に組み込んで、カバレッジ データを収集して XML ファイルに保存するか、DTP にレポートし、そのデータを IDE にインポートします。
単体テスト スイートを実行するごとにカバレッジ データを収集し、最新のテスト実行のデータをインポートすることで、IDE の情報が最新であることを保証できます。関連付けを更新するには、ファイルまたは DTP から IDE にカバレッジを再インポートします。
最新のテスト実行のカバレッジ データを定期的に再インポートし、関連付けがバージョン管理システム内のソース コードおよびテストと一致するようにします。 |
CI サーバーで Jtest と統合されたビルド ツール (Maven、Ant、または Gradle) を使用して単体テストを実行すると、coverage.xml
ファイルが生成されます。1 回のテスト実行ですべての単体テストが実行される場合、このファイルからカバレッジ データをインポートできます。
Maven、Gradle、Ant を使用してカバレッジ データを収集するよう単体テスト実行ジョブを設定します。ジョブを実行すると、サーバー上のジョブの場所にある coverage.xml
ファイルに実行されたテストのカバレッジが保存されます。このファイルを容易にダウンロード可能な場所に保存するようジョブを設定します。
複数のテスト実行からカバレッジを収集したい場合、DTP からカバレッジ データをインポートできます。
[影響を受ける単体テスト] ビューで、ローカルでのコード変更の影響を受けるテストをモニターし、再実行できます。このビューを開くには、IDE メニュー バーで [Parasoft] メニューの [ビューの表示] > [影響を受ける単体テスト] をクリックします。
Jtest はワークスペース内で開かれているすべてのプロジェクトを自動的にモニターします。デフォルトでは、現在のコード変更の影響を受けるテストがリアルタイムでビューに表示されます。テストに影響を受けるコード変更を行うたびに、ビューがリフレッシュされて該当テストを表示します。影響を受けるテストの自動検出をオフにするには、ビューのメニューで [影響を受けるテストを自動検出] オプションをオフにします。
このオプションがオフの場合、[リフレッシュ] ボタンをクリックして手動でビューをリフレッシュする必要があります。
検出されたテストを右クリックして [移動] をクリックすると、エディターでテスト コードを参照できます。
また、[影響を受けるテスト] ビューには以下も表示されます。
ビューに表示されているすべての影響を受けるテストを実行するには、ビューのメニューの [すべてのテストを実行] ボタンをクリックします。
影響を受けるテストの一部を実行するには、解析するプロジェクト、パッケージ、クラス、および/またはメソッドのノードを選択し、ビュー メニューの [選択されたテストの実行] をクリックします。
または、選択対象を右クリックして [選択されたテストの実行] をクリックすることもできます。
[影響を受ける単体テスト] ビューから実行したテストは、カバレッジ データを更新しません。更新されたカバレッジ結果を参照するには、単体テスト アシスタント ビューから、または Jtest テスト コンフィギュレーションを使用してテストを実行します (「JUnit テストの実行とカバレッジの収集」を参照)。 |
リソースを解析している間、Jtest は影響を受けるテストの情報を保存し、選択されたテスト メソッドを実行するために、プロジェクトのデフォルト パッケージに 2 つの .java クラスを作成します。これらのファイルをソース管理システムにコミットしないでください。利便性のため、これらのファイルを .gitignore ファイル (Git の場合) に追加するか、すべてのプロジェクトで svn:ignore プロパティを設定する (SVN の場合) ことを検討するとよいでしょう。