0


【Maven】单元测试、统计、覆盖率相关插件使用介绍

maven-surefire-plugin

  • maven-surefire-pluginmaven执行单元测试的插件,不显性配置也可以直接使用。
  • 这个插件的surefire:test命令会默认绑定maven执行的test阶段。
  • 执行结束后,默认在target/surefire-reports目录下会生成txtxml两种格式的结果,不利于直观展示,需要结合其它插件一起使用。

如果你自己声明了,那么可以指定自己的版本,并且可以配置自定义的参数。

配置示例

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><!-- 是否忽略单元测试 --><skipTests>false</skipTests><!-- 是否忽略执行执行的单元测试 --><testFailureIgnore>true</testFailureIgnore><argLine>${argLine}</argLine></configuration></plugin>
  • argLine参数说明
  • jacoco:report-aggregate聚合报告后,覆盖率显示为0,与这个参数有关
  • jacoco在prepare-agent阶段会生成一个属性指向jacoco的runtime agent,默认这个属性叫argLine
  • 需要在maven-surefire-plugin的配置中,引用这个属性

maven-surefire-report-plugin

为单元测试生成

html

报告,默认位置

target/site/surefire-report.html

配置示例

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-report-plugin</artifactId><version>${maven-surefire-report-plugin.version}</version><executions><execution><id>report</id><phase>test</phase><goals><goal>report</goal></goals></execution></executions></plugin>

执行mvn test时,会生成报告

效果预览

在这里插入图片描述

jacoco-maven-plugin

用于生成代码覆盖率报告,可以帮助我们了解代码中哪些部分已经被测试覆盖,哪些部分需要更多的测试,默认位置

target/site/jacoco/index.html

配置示例

<plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><executions><execution><goals><goal>prepare-agent</goal></goals><configuration><!-- 需要修改maven-surefire-plugin插件的<argLine>配置,默认是argLine --><propertyName>argLine</propertyName></configuration></execution><execution><id>report</id><phase>test</phase><goals><goal>report</goal></goals></execution></executions><configuration><!--是否使用追加的模式,如果为false,新的报告会替换旧的报告--><append>false</append><!-- rules里面指定覆盖规则 --><rules><ruleimplementation="org.jacoco.maven.RuleConfiguration"><element>BUNDLE</element><limits><!-- 指定方法覆盖到80% --><limitimplementation="org.jacoco.report.check.Limit"><counter>METHOD</counter><value>COVEREDRATIO</value><minimum>0.80</minimum></limit><!-- 指定指令覆盖到80% --><limitimplementation="org.jacoco.report.check.Limit"><counter>INSTRUCTION</counter><value>COVEREDRATIO</value><minimum>0.80</minimum></limit><!-- 指定行覆盖到80% --><limitimplementation="org.jacoco.report.check.Limit"><counter>LINE</counter><value>COVEREDRATIO</value><minimum>0.80</minimum></limit><!-- 指定类覆盖到100%,不能遗失任何类 --><limitimplementation="org.jacoco.report.check.Limit"><counter>CLASS</counter><value>MISSEDCOUNT</value><maximum>0</maximum></limit></limits></rule></rules></configuration></plugin>

效果展示

在这里插入图片描述

如果覆盖率显示为0,需要修改maven-surefire-plugin插件的配置

在这里插入图片描述


本文转载自: https://blog.csdn.net/friendlytkyj/article/details/130900505
版权归原作者 太空眼睛 所有, 如有侵权,请联系我们删除。

“【Maven】单元测试、统计、覆盖率相关插件使用介绍”的评论:

还没有评论