我有这个交换机系统,我正在使用eclemma来测试分支机构的覆盖范围.我们需要至少有80%的分支机构覆盖所有内容,所以我尽可能地尝试测试.然而,eclemma告诉我这个交换机系统在分支覆盖范围方面没有经过全面测试.
pos = p.getCurrentPosition().substring(0, 1);
switch (pos) {
case "G":
goalkeepers++;
break;
case "D":
defense++;
break;
case "M":
midfield++;
break;
case "F":
offense++;
break;
case "S":
substitutes++;
break;
case "R":
reserves++;
break;
}
Run Code Online (Sandbox Code Playgroud)
我使用简单的JUnit测试来解决这些问题.仍然是eclemma将此标记为黄色并且说"错过了19个分支中的7个".我想说只有7种方法可以通过这个开关系统(6个个案+所有未定义).
我尝试在堆栈溢出时搜索类似的问题.他们中的一些人使用if/else进行完全覆盖的解决方案.我不确定这是否是获得此保险的唯一方法.
任何人都可以解释所有这19个分支来自何处以及我如何测试这些剩余的7个以获得100%的分支覆盖率?