【问题标题】:JaCoCo ant code coverageJaCoCo 蚂蚁代码覆盖率
【发布时间】:2017-02-25 09:53:22
【问题描述】:

你如何解决这个问题??

对于我的程序 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;
        }
      }

【问题讨论】:

  • 问题是什么?
  • @Godin 你是怎么解决的
  • 写缺失的测试?
  • @ArtsArts 上面代码的测试代码在哪里?

标签: junit ant jacoco


【解决方案1】:

JaCoCo is a code coverage tool 在执行后生成代码的coverage 报告。可能是在手动执行之后,但通常是在执行测试之后,从而帮助创建它们。

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

  1. ia.length() &lt; i + 1 == false
  2. ia.length() &lt; i + 1 == true

所以

2 个分支中的 1 个

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

【讨论】:

    猜你喜欢
    • 2016-11-11
    • 2019-01-02
    • 2012-11-02
    • 2014-11-09
    • 2018-05-28
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    相关资源
    最近更新 更多