一、windows实现
1、下载java编译器IDEAL社区版
https://www.jetbrains.com/idea/download/?section=windows
下载完成后,第一个创建快捷方程式打勾,然后按照提示一直往下走即可。
2、打开安装浩的IDEAL,创建新的项目,写好安装路径
3、将测试代码放入其中
import java.util.Scanner;
public class test {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int w;
int isContinue = 1;
while (isContinue > 0){
System.out.println("input w :");
w = scan.nextInt();
switch (w%7) {
case 1:
System.out.println("一");
break;
case 2:
System.out.println("二");
break;
case 3:
System.out.println("三");
break;
case 4:
System.out.println("四");
break;
case 5:
System.out.println("五");
break;
case 6:
System.out.println("六");
break;
case 0:
System.out.println("七");
break;
}
System.out.println("isContinue(0/1)?");
isContinue = scan.nextInt();
}
}
}
4、直接右键选择 RUN “……” with Coverage 或者点击右上角的运行图标即可运行。
运行结果会直接显示出来
点击结果旁边的生成覆盖报告图标,输入保存路径,可以生成对应的HTML文件。
5、可以更改覆盖率工具
二、linux实现
github下载jacoco包,开源的
https://github.com/jacoco/jacoco/releases/tag/v0.8.10
下载jar,利用rz命令或宝塔工具放进自己的服务器中,解压这里就不再多说了
1、生成桩文件
输入以下命令:
java -javaagent:/usr/local/jacoco/lib/jacocoagent.jar=destfile=jacoco_test.exec,includes=com.tony* -jar halo-1.5.4.jar
命令分解:
- -javaagent:/usr/local/jacoco/lib/jacocoagent.jar 前面是固定格式,后面的路径是你解压后,里面jacocoagent.jar这个包的路径。
- =destfile=jacoco_test.exec,这个是到时候保存代码覆盖率文件的名字,随意取,如果不写路径就是保存到你当前的文件夹。
- includes=com.tony这段代码的意思是 includes是参数,后面的是要统计java包里面的哪个类(具体工作的时候要问开发),这里com.tony意思是统计所有com.tony*开头的类,includes函数也可改成excludes表示除去哪个类其他的都统计。
- -jar halo-1.5.4.jar表示要启动的主服务,也就是你要统计的java程序是哪个(相对路径和绝对路径都可以)。
执行该命令后,会启动服务,然后可以在服务上随意调用接口,功能测试,然后ctrl+c关闭掉该服务,会自动生成jacoco_test.exec
2、生成html
使用jacocoli.jar(跟jacocoagent.jar在同一目录下的)
输入命令
java -jar jacocoli.jar report jacoco_test.exec --sourcefiles ~/app/halo.java --classfiles ~/app/classes --html ./repost-test --encoding utf-8
命令分解:
- java -jar jacocoli.jar report jacoco_test.exec 前面是你的jacocoli.jar文件的路径,后面是你第一步生成exec的路径在哪里。
- –sourcefiles ~/app/halo.java 你的java源代码路径在哪里
- –classfiles ~/app/classes 你的java编译后的代码路径在哪里
- –html ./repost-test生成的是html文件 后面是生成的路径
- –encoding utf-8 源码的编码方式
把这些收集好的信息,都填好了以后就会生成好这个报告了,可以用XSHELL sz命令或者用宝塔工具抓取到本机打开查看。
可以点击进入
点击进入还可以看源码
绿色代表执行过,红色代表没执行过,黄色代表有分支没有执行到。