詳細
推奨事項のタイプ: 例外 / アサーション エラー
設定可能: いいえ
フィルター カテゴリ例外 / アサーション エラー
説明
この推奨事項は以下の場合に表示されます。
- 実行中にテストが失敗した
- 予期しない例外がスローされた
- 期待された例外がスローされなかった
- スローされた例外が期待される例外ではなかった
コードに応じて、以下のアクション リンクが表示される可能性があります。
- ハイライト - 単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
- 移動 - 推奨事項に関連するコードをエディターでハイライト表示します (たとえば例外をスローするコードなど)。
- 期待値としてマーク - レポートされた例外を期待された例外としてマークし、以降のテスト実行ではこの推奨事項が表示されないようにします。
- Junit 4 テストでは、テストに@Test(expected=...)アノテーションを追加します (「JUnit 4 テストの例」を参照)。
- JUnit 5 テストでは、assertThrows()メソッドで例外をラップします(「JUnit 5 テストの例」を参照)。 - 期待される例外を削除 - コードから
@Test(expected=...)アノテーションまたはassertThrows()メソッドを削除します。このオプションは、テスト実行時に期待された例外がスローされなかった場合に表示されます。 - AI で修正I - AI を使用して、失敗したテストに対する提案を示します。アクション リンクをクリックすると、LLM プロバイダーからの出力を表示するダイアログが開き、テストを修正する方法についての提案が示されます。[修正の適用] および [閉じる] ボタンがあります。[修正の適用] をクリックすると、AI によって返された変更の提案との差分を示すエディターが開きます。[適用] をクリックし、変更を受け入れてテストを更新するか、[キャンセル] をクリックし、LLM 出力のダイアログに戻ります。テスト ソース コードを受け入れる前に、さらに変更を加えることもできます。この機能を使用するには、ライセンスで「LLM Integration」ライセンス機能を有効化し、LLM プロバイダーを有効化して設定する必要があります (「LLM プロバイダーの設定」を参照)。
この機能は LLM を利用しているため、不正確な情報を生成する可能性があります。
@Rule ExpectedException を使用して例外を処理しているテストに対しては、[期待値としてマーク] および [期待される例外を削除] オプションは表示されません。
JUnit 4 テストの例
サンプルコード 1 - 例外がスローされた
次のテストは、makePayment に対して作成されたものです。
UTA は例外がスローされたことを検出しました。
[期待値としてマーク] をクリックして @Test(expected=...) アノテーションをスローされた例外で更新します。
サンプルコード 2 - 期待される例外がスローされない
次のサンプルでは、IllegalArgumentException が期待されています。
UTA は例外がスローされなかったことを検出しました。
[期待される例外を削除] をクリックして、テストから Test(expected = IllegalArgumentException.class) アノテーションを削除します。
サンプルコード 3 - 誤った例外がスローされた
次のサンプルでは、IllegalArgumentException が期待されています。
UTA は、実際にスローされた例外が Error だったことを検出しました。
[期待値としてマーク] をクリックして @Test(expected=...) アノテーションをスローされた例外で更新します。
サンプル コード 5 - AI で修正
次のテストは、makePayment に対して作成されたものです。
UTA は例外がスローされたことを検出しました。
[AI で修正] をクリックします。LLM プロバイダーからの出力を表示するダイアログが開き、テストを修正する方法についての提案が示されます。
[修正の適用] をクリックします。コードの差分ビューが開きます。テスト クラスに変更を追加する前に、必要に応じてコードを編集できます。
[適用] をクリックします。
JUnit 5 テストの例
次のテストは、makePayment に対して作成されたものです。
UTA は例外がスローされたことを検出しました。
[期待値としてマーク] をクリックして、assertThrows メソッドでスローされた例外をラップします。












