詳細
推奨事項のタイプ: 未カバーのコード
設定可能: はい
フィルター カテゴリ未カバーのコード
説明
この推奨事項は、カバーされていないコードを識別するのに役立ちます。
- [移動] リンクをクリックして、推奨事項に関連する未カバーのコードに移動します。
- [ハイライト] リンクをクリックして、単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
- [テストの複製] リンクをクリックして、検出されたコードをすばやくカバーするのに役立つ既存のテスト ケースの一覧を表示します。[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 メソッドが完全にはカバーされていないことが検出されます。
結果として、それぞれのメソッドに対して「カバーされていないコード」推奨事項が表示されます。
[テストの複製] リンクをクリックして、カバーされていない行をカバーするのに役立つ選択済みのテスト ケースのコピーを自動的に作成します (詳細については「テスト ケースの複製と変更」を参照)。

