JaCoCo 是 Java 中的一个开源的代码覆盖率测试工具。在 IDEA 中自带了三种代码覆盖率测试工具,分别是 Intellij IDEA、JaCoCo、Emma。可以在 Edit Configurations… 中进行配置。
一、创建项目
在 IDEA 中创建最简单的 Java 项目即可,将测试代码放入其中。
本次实验测试代码如下:
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();
}
}
}
二、运行
直接右键选择 RUN “……” with Coverage 或者点击右上角的运行图标即可运行。
三、结果
运行完成后会自动生成对应的覆盖结果(默认测试工具为 Intellij IDEA)。
点击结果旁边的生成覆盖报告图标,输入保存路径,可以生成对应的HTML文件。
四、更改测试工具
在右上角中选择 Edit Configurations… 可以对测试工具进行选择,默认选择为 Intellij IDEA,可以进行修改。
修改为 JaCoCo 工具后测试结果如下所示(Emma工具需要另行下载 jar 包):
注:红色方块:没有覆盖(在这一行中没有分支被执行)
黄色方块:部分覆盖(这一行的分支中只有一部分被执行)
绿色方块:完全覆盖(这一行的所有分支都被执行)