写在前面
在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,比如,代码覆盖率必须达到80%或 90%。如何在项目中统计各个模块的代码覆盖率呢?接下来让我们进入实战吧
代码
pom,xml 配置相应的代码覆盖率检测插件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
<check>
<branchRate>0</branchRate>
<lineRate>0</lineRate>
<haltOnFailure>true</haltOnFailure>
<totalBranchRate>0</totalBranchRate>
<totalLineRate>0</totalLineRate>
<packageLineRate>0</packageLineRate>
<packageBranchRate>0</packageBranchRate>
<regexes>
<regex>
<pattern>cn.liuhaihua.web.service.*</pattern>
<!--每个类的分支覆盖率-->
<branchRate>60</branchRate>
<!--每个类的代码行覆盖率-->
<lineRate>80</lineRate>
</regex>
</regexes>
</check>
</configuration>
<executions>
<execution>
<goals>
<goal>clean</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
常用命令
mvn cobertura:help 查看cobertura插件的帮助
mvn cobertura:clean 清空cobertura插件运行结果
mvn cobertura:check 运行cobertura的检查任务
mvn cobertura:cobertura 运行cobertura的检查任务并生成报表,报表生成在target/site/cobertura目录下
cobertura:dump-datafile Cobertura Datafile Dump Mojo
mvn cobertura:instrument Instrument the compiled classes
在target文件夹下出现了一个site目录,下面是一个静态站点,里面就是单元测试的覆盖率报告。如下图所示
测试效果
实战项目介绍
项目介绍:
为了满足Java新手朋友课程要求,我特出此教程,由于时间仓促的问题,代码写得不好之处的地方还请多多包涵。
目标如下
- 优化wordpress效率低下的问题(目前博主文章数量大概10万+)
- 让群里面初级Java朋友们更快上手springboot应用
GIT地址:https://gitee.com/jxuasea/JWordpress