看了阿里开发手册 “单元测试第八条的推荐”
单元测试的基本目标:语句覆盖率达到 70% ;核心模块的语句覆盖率和分支覆盖率都
要达到 100%
之前在公司实习的时候,组内一个老哥对这个测试十分的看重,几乎要达到100%的覆盖面积。
我当时特别的不是很理解,感觉自己测试下每个分支就好了,不用搞的那么复杂,后期又难以维护。
后来渐渐发觉,这是对自己代码的不负责任,也是对用户不负责任
Jacoco代码覆盖率JaCoCo is a free code coverage library for Java, which has been created by the EclEmma team based on the lessons learned from using and integration existing libraries for many years.
JaCoCo是一个免费的Java代码覆盖库,由EclEmma团队根据多年来使用和集成现有库的经验教训创建。
这是其官网介绍,也就是说,这个插件可以检测到你写了多少个测试。
而这些测试又对你的代码覆盖了多少
Jacoco用法首先在Maven中引入一下插件
1 <!-- 代码测试覆盖率 --> 2 <plugin> 3 <groupId>org.jacoco</groupId> 4 <artifactId>jacoco-maven-plugin</artifactId> 5 <version>0.7.8</version> 6 <executions> 7 <execution> 8 <id>prepare-agent</id> 9 <goals> 10 <goal>prepare-agent</goal> 11 </goals> 12 </execution> 13 <execution> 14 <id>report</id> 15 <phase>prepare-package</phase> 16 <goals> 17 <goal>report</goal> 18 </goals> 19 </execution> 20 </executions> 21 </plugin>