詳細

推奨事項のタイプ: NullPointerException のスロー

設定可能: いいえ

フィルター カテゴリ例外 / アサーション エラー

説明

この推奨事項は、テスト実行中に NullPointerException がスローされた場合に表示されます。コードに応じて、以下のアクション リンクが表示される可能性があります。

  • ハイライト - 単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
  • 移動 - NullPointerException をスローするコードに移動します。
  • Null ソース - Null のソースに移動します。
  • モックする - Null のソース オブジェクトの値をモック化します。
  • インスタンス化する - Null のソース オブジェクトのインスタンスを作成します。
  • 不足しているスタブを生成 -モックに対するメソッド呼び出しをモック化します。

(info) 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) アノテーションを追加します。すると、以降の実行ではこの推奨事項は表示されません。


  • No labels