如何在maven 中进行单元测试测试代码覆盖率?

如何在maven 中进行单元测试测试代码覆盖率


狐的传说
浏览 1342回答 1
1回答

杨__羊羊

1.首先需要对统计模块的POM.XML增加如下字段:<build>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<plugins>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<plugin>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>org.codehaus.mojo</groupId>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>cobertura-maven-plugin</artifactId>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>2.6</version>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<configuration>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<formats>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <format>html</format>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <format>xml</format>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</formats>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</configuration>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</plugin>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</plugins>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</reporting>或用<reporting>标签,如下:<reporting>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<plugins>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<plugin>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>org.codehaus.mojo</groupId>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>cobertura-maven-plugin</artifactId>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>2.6</version>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</plugin>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</plugins>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</reporting>&nbsp;&nbsp;区别:在reporting节点中加入则在mvn site中执行,如果在build节点中加入,则在build的时候自动运行检查。注意:如果是多模块的maven项目,需要在每个想统计模块的pom.xml中进行配置,这样会将各模块的报告进行汇集。2.执行下面的cobertura命令[plain]&nbsp;view plaincopymvn&nbsp;cobertura:help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查看cobertura插件的帮助&nbsp;&nbsp;mvn&nbsp;cobertura:clean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;清空cobertura插件运行结果&nbsp;&nbsp;mvn&nbsp;cobertura:check&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;运行cobertura的检查任务&nbsp;&nbsp;mvn&nbsp;cobertura:cobertura&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;运行cobertura的检查任务并生成报表,报表生成在target/site/cobertura目录下&nbsp;&nbsp;cobertura:dump-datafile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cobertura&nbsp;Datafile&nbsp;Dump&nbsp;Mojo&nbsp;&nbsp;mvn&nbsp;cobertura:instrument&nbsp;&nbsp;&nbsp;&nbsp;Instrument&nbsp;the&nbsp;compiled&nbsp;classes &nbsp;另,有的项目一些借口定义,常量定义和异常定义这些是不需要单元测试的,还有一些不重要的,我们可以进行过滤按类的类别进行过滤<plugin><groupId>org.codehaus.mojo</groupId><artifactId>cobertura-maven-plugin</artifactId><version>2.5.2</version><configuration><ignores><!--经过修改的 cobertura, 支持方法级别的过滤 --><ignore>*main*</ignore><!--以上修改指的是过滤项目中所有类中的方法名中含有 main 的方法 --></ignores><IgnoreTrival>true</IgnoreTrival></configuration></plugin>或对路径过滤:<configuration>&nbsp;&nbsp;&nbsp;&nbsp;<instrumentation>&nbsp;&nbsp;&nbsp;&nbsp;<excludes>&nbsp;&nbsp;&nbsp;&nbsp;<!--此处用于指定哪些类会从单元测试的统计范围中被剔除&nbsp;-->&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<exclude>exs/res/process/egencia/Mock*.class</exclude>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<exclude>exs/res/process/test/**/*Test.class</exclude>&nbsp;</excludes>&nbsp;&nbsp;&nbsp;&nbsp;</instrumentation>&nbsp;&nbsp;&nbsp;&nbsp;</configuration>&nbsp;&nbsp;&nbsp;&nbsp;<executions>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<execution>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<goals>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<goal>clean</goal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</goals>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</execution>&nbsp;&nbsp;&nbsp;</executions>
打开App,查看更多内容
随时随地看视频慕课网APP