詳細

推奨事項のタイプ: 未カバーのコード

設定可能: はい

フィルター カテゴリ未カバーのコード

説明

この推奨事項は、カバーされていないコードを識別するのに役立ちます。

  • [移動] リンクをクリックして、推奨事項に関連する未カバーのコードに移動します。
  • [ハイライト] リンクをクリックして、単体テスト アシスタント ビューに表示された実行フロー内の問題をハイライト表示します。
  • [テストの複製] リンクをクリックして、検出されたコードをすばやくカバーするのに役立つ既存のテスト ケースの一覧を表示します。[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 メソッドが完全にはカバーされていないことが検出されます。

結果として、それぞれのメソッドに対して「カバーされていないコード」推奨事項が表示されます。

[テストの複製] リンクをクリックして、カバーされていない行をカバーするのに役立つ選択済みのテスト ケースのコピーを自動的に作成します (詳細については「テスト ケースの複製と変更」を参照)。


  • No labels