2

文字列に基づいて変化するJava 7内のswitch文を書いています。コードとテスト自体はかなり些細なことですが、何らかの理由で Cobertura (および Eclemma) の両方が、switch 内のブランチを見逃したことを示しています。

次のコードは、10 個のブランチのうち 3 個を見逃したことを示しています。

public String decodeQuestionResponseType(final String questionResponseType){
    switch (questionResponseType) {
            case "multipleChoiceResponse":
                return "multipleChoice";

            case "textResponse":
                return "text";

            case "photoResponse":
                 return "photo";

            default:
                 return "none";
        }
}

@Test
public void testDecoder(){

    assertEquals("multipleChoice", decodeQuestionResponseType("multipleChoiceResponse"));
    assertEquals("text", decodeQuestionResponseType("textResponse"));
    assertEquals("photo", decodeQuestionResponseType("photoResponse"));
    assertEquals("none", decodeQuestionResponseType("otherResponse"));

}

if/else ステートメントを使用して記述でき、テストはパスします。足りないものはありますか?このコードで 100% の分岐カバレッジを得られないのはなぜですか?

4

1 に答える 1