你如何解决这个问题?
对于我的程序中的以下行,JaCoCo显示: “2个分支中的1个错过了”
if(ia.length() < i+1){
同样对于以下行我得到:“4个分支中的1个错过了”
if(ia.length() <= i+1 && ib.length() <= i+1){
整个代码:
public static int convertBits(int a, int b) {
String ia = Integer.toBinaryString(a);
String ib = Integer.toBinaryString(b);
int s = 0;
for(int i = 0;;i++){
char a1 = '0';
char a2 = '0';
if(ia.length() < i+1){
a1 = '0';
}else{
a1 = ia.charAt(ia.length() - i - 1);
}
if(ib.length() < i+1){
a2 = '0';
}else{
a2 = ib.charAt(ib.length() - i - 1);
}
if(a1 != a2){
s++;
}
if(ia.length() <= i+1 && ib.length() <= i+1){
break;
}
}
答案 0 :(得分:2)
JaCoCo is a code coverage tool在执行后生成coverage代码报告。可以在手动执行之后,但通常在执行测试之后,从而在创建过程中提供帮助。
条件if (ia.length() < i + 1) {
有两个分支:
ia.length() < i + 1 == false
ia.length() < i + 1 == true
所以
2个分支中的1个
表示其中一个分支已执行,而另一个分支未执行。