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下面
4.2、单元测试用例
注意:单元测试类(CalcTest)必须和被测类(Calc)在同一个包下(com.lemon.testng)
4.3、配置Code Coverage
选择 Edit Configurations
选择Code Coverage,再选择JaCoCo
右键选择 Run with Coverage
自动弹出代码覆盖率界面
4.4、覆盖率报表
报表相对简单,Class表示类覆盖率,Method表示方法覆盖率,Line表示行覆盖率
4.5、代码覆盖情况
单元测试用例主只写了add方法,所以add方法显示绿色,覆盖状态,sub方法显示红色,未被覆盖。
新增一个sub方法测试用例,再来看结果。
首先Method从1变成2,Line数也增多了。
其次,sub方法颜色也有变化,if仍是红色, 但是else变成绿色,说明eles分支被覆盖。
5、总结
通过上述例子可以看出,通过查看覆盖率,逐步善测试用例,写出的用例至少能保障每个分支都被执行,相比通过需求写用例更能排查出潜在bug。
需求≠代码,不能仅围绕需求写用例,借助JaCoCo覆盖率工具编写用例,更符合实际工作需求,更省心省力。
欢迎来到testingpai.com!
注册 关于