詳細
推奨事項のタイプ: NullPointerException のスロー
設定可能: いいえ
フィルター カテゴリ例外 / アサーション エラー
説明
この推奨事項は、テスト実行中に NullPointerException がスローされた場合に表示されます。コードに応じて、以下のアクション リンクが表示される可能性があります。
- ハイライト - 単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
- 移動 - NullPointerException をスローするコードに移動します。
- Null ソース - Null のソースに移動します。
- モックする - Null のソース オブジェクトの値をモック化します。
- インスタンス化する - Null のソース オブジェクトのインスタンスを作成します。
- 不足しているスタブを生成 -モックに対するメソッド呼び出しをモック化します。
- AI で修正I - AI を使用して、失敗したテストに対する提案を示します。アクション リンクをクリックすると、LLM プロバイダーからの出力を表示するダイアログが開き、テストを修正する方法についての提案が示されます。[修正の適用] および [閉じる] ボタンがあります。[修正の適用] をクリックすると、AI によって返された変更の提案との差分を示すエディターが開きます。[適用] をクリックし、変更を受け入れてテストを更新するか、[キャンセル] をクリックし、LLM 出力のダイアログに戻ります。テスト ソース コードを受け入れる前に、さらに変更を加えることもできます。この機能を使用するには、ライセンスで「LLM Integration」ライセンス機能を有効化し、LLM プロバイダーを有効化して設定する必要があります (「LLM プロバイダーの設定」を参照)。
この機能は LLM を利用しているため、不正確な情報を生成する可能性があります。
UTA は 1 つのソース クラス内での NullPointerException を検出します。
例外に対して表示される可能性がある他のオプションについては「例外 / アサーション エラー」を参照してください。
サンプルコード
次のサンプルでは、customer の値は null です。
customer オブジェクトの getName メソッドが呼び出された場合、NullPointerExceprion がスローされます。
UTA は NullPointerException を検出し、推奨事項ビューに次の情報を表示します。
修正
NullPointerException がスローされるのを防ぐには、以下のいずれかを行います。
- [Null ソース] をクリックして Null のソースに移動し、手動でコードを変更します。たとえば、手動で
customerオブジェクトをインスタンス化し、オブジェクト値が Null にならないようにします。 - [インスタンス化する] をクリックして自動的にオブジェクトをインスタンス化します。
customerオブジェクトのインスタンス化に必要なコードがテストに追加されます。UTA の生成するデフォルト値を手動で変更する必要がある場合があります。
- [モックする] をクリックして自動的にオブジェクト値をモック化します。モックの作成に必要なコードがテストに追加されます。
テストを再実行します。モック化されたオブジェクトに対してgetNameメソッドが呼び出されているため、NullPointerException がスローされたことが表示されます。
[不足しているスタブを生成] をクリックしてgetNameメソッドをモック化します。これはモック化されたcustomerオブジェクトで呼び出されます。
getNameをスタブ化するのに必要なコードがテストに追加されます。 - [期待値としてマーク] をクリックしてテスト コードに
@Test(expected=NullPointerException.class)アノテーションを追加します。すると、以降の実行ではこの推奨事項は表示されません。







