当前位置:   article > 正文

单元测试查看jacoco覆盖率_单元测试的poml

单元测试的poml
示例代码

poml集成junit单元测试

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

创建个简单cacul java文件

package sample;

public class CaCul {
    public int add(int a, int b) {
        int c = a + b;
        return c;
    }

    public int sub(int a, int b) {
        int c = a - b;
        return c;
    }

    public int mul(int a, int b) {
        return a * b;
    }

    public int div(int a, int b) {
        return a / b;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在test目录下创建个test测试文件

import org.junit.jupiter.api.Test;
import sample.CaCul;

public class CoverTest {
    @Test
    public void test() throws InterruptedException {
        CaCul  mulq = new CaCul();
        int aa = mulq.mul(2, 3);
    System.out.println("aa"+aa);
//    Thread.sleep(Integer.MAX_VALUE);

    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
覆盖率配置

先确保test文件调试成功
编辑配置
在这里插入图片描述

选择jacoco覆盖率工具,idea默认自带了jacoco工具
在这里插入图片描述

运行

在这里插入图片描述

结果查看

从下图可以看到结果覆盖率数据
在这里插入图片描述

简单原理查看

点击执行命令可以看到idea 执行的,自带了jacoco agent
在这里插入图片描述
在这里插入图片描述

将test文件下的该行代码注释打开

    Thread.sleep(Integer.MAX_VALUE);

  • 1
  • 2

再次点击执行

使用java -jar arthas-boot.jar(arthas 是java的开源java 诊断工具,用法自行搜索)

如果报错则执行:java -jar arthas-boot.jar --telnet-port 9998 --http-port -1

在这里插入图片描述
这里选择输入3
然后
执行反编译命令
jad sample.Cacul

可以看到反编译后的CaCul 里集成jacoco代码,基本上就是通过布尔值去判断是否代码被执行,看似简单,实际更为复杂的是ASM的操作!大家可以自行搜索ASM
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/450346
推荐阅读
相关标签
  

闽ICP备14008679号