詳細
推奨事項のタイプ: 未カバーのコード
設定可能: はい
フィルター カテゴリ未カバーのコード
説明
この推奨事項は、カバーされていないコードを識別するのに役立ちます。
- [移動] リンクをクリックして、推奨事項に関連する未カバーのコードに移動します。
- [ハイライト] リンクをクリックして、単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
- [テストの複製] リンクをクリックして、検出されたコードをすばやくカバーするのに役立つ既存のテスト ケースの一覧を表示します。[OK] をクリックして、選択したテストのコピーを作成します。UTA はテスト コードを解析し、複製するべきテスト ケースが事前に選択します。
詳細については「コード カバレッジの改善」を参照してください。
サンプルコード
次のサンプルでは、UncoveredCode には 2 つのメソッドがあります。条件ステートメントを含む normalize
メソッドと、例外をキャッチする readChar
メソッドです。
public class UncoveredCode { public int normalize(int value) { if (value > 100) { return 100; } else { return value; } } public char readChar(Reader reader) throws Exception { try { return (char)reader.read(); } catch (IOException e) { throw new Exception("Encountered IO exception", e); } } }
メソッドをカバーするために次のテスト ケースを作成しました。
public class UncoveredCodeTest { @Test public void testNormalize() throws Throwable { UncoveredCode underTest = new UncoveredCode(); int value = 0; // UTA: default value int result = underTest.normalize(value); assertEquals(0, result); } @Test public void testReadChar() throws Throwable { UncoveredCode underTest = new UncoveredCode(); Reader reader = mock(Reader.class); int readResult = 'c'; when(reader.read()).thenReturn(readResult); char result = underTest.readChar(reader); assertEquals('c', result); } }
テスト ケースを実行すると、normalize
および readChar
メソッドが完全にはカバーされていないことが検出されます。
結果として、それぞれのメソッドに対して「カバーされていないコード」推奨事項が表示されます。
[テストの複製] リンクをクリックして、カバーされていない行をカバーするのに役立つ選択済みのテスト ケースのコピーを自動的に作成します (詳細については「テスト ケースの複製と変更」を参照)。