詳細
推奨事項のタイプ: NullPointerException のスロー
設定可能: いいえ
フィルター カテゴリ例外 / アサーション エラー
説明
この推奨事項は、テスト実行中に NullPointerException がスローされた場合に表示されます。コードに応じて、以下のアクション リンクが表示される可能性があります。
- ハイライト - 単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
- 移動 - NullPointerException をスローするコードに移動します。
- Null ソース - Null のソースに移動します。
- モックする - Null のソース オブジェクトの値をモック化します。
- インスタンス化する - Null のソース オブジェクトのインスタンスを作成します。
- 不足しているスタブを生成 -モックに対するメソッド呼び出しをモック化します。
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)
アノテーションを追加します。すると、以降の実行ではこの推奨事項は表示されません。