JaCoCo蚂蚁代码覆盖范围

时间:2017-02-25 09:53:23

标签: junit ant jacoco

你如何解决这个问题?

对于我的程序中的以下行,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;
        }
      }

1 个答案:

答案 0 :(得分:2)

JaCoCo is a code coverage tool在执行后生成coverage代码报告。可以在手动执行之后,但通常在执行测试之后,从而在创建过程中提供帮助。

条件if (ia.length() < i + 1) {有两个分支:

  1. ia.length() < i + 1 == false
  2. ia.length() < i + 1 == true
  3. 所以

      

    2个分支中的1个

    表示其中一个分支已执行,而另一个分支未执行。