IDEA 集成 JaCoCo

本贴最后更新于 1095 天前,其中的信息可能已经水流花落

1、什么是IDEA

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。

2、什么是JaCoCo

JaCoCo 是一个免费、开源 Java 代码覆盖率工具。

3、IDEA为什么要集成JaCoCo

方便查看单元测试用例覆盖率。

4、集成步骤

4.1、被测类

注意:被测类要放在main下面,而不是test下面

1640245402408.png

4.2、单元测试用例

注意:单元测试类(CalcTest)必须和被测类(Calc)在同一个包下(com.lemon.testng)

1640245520395.png

4.3、配置Code Coverage

1640245670828.png

选择 Edit Configurations

1640245735447.png

选择Code Coverage,再选择JaCoCo

1640245794676.png

右键选择 Run with Coverage

1640245839066.png

自动弹出代码覆盖率界面

4.4、覆盖率报表

报表相对简单,Class表示类覆盖率,Method表示方法覆盖率,Line表示行覆盖率

1640246017414.png

4.5、代码覆盖情况

单元测试用例主只写了add方法,所以add方法显示绿色,覆盖状态,sub方法显示红色,未被覆盖。

1640246097921.png

新增一个sub方法测试用例,再来看结果。

1640246218077.png

首先Method从1变成2,Line数也增多了。

1640246273883.png

其次,sub方法颜色也有变化,if仍是红色, 但是else变成绿色,说明eles分支被覆盖。

1640246357937.png

5、总结

通过上述例子可以看出,通过查看覆盖率,逐步善测试用例,写出的用例至少能保障每个分支都被执行,相比通过需求写用例更能排查出潜在bug。

需求≠代码,不能仅围绕需求写用例,借助JaCoCo覆盖率工具编写用例,更符合实际工作需求,更省心省力。

回帖
请输入回帖内容 ...