博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven单元测试报告及测试覆盖率
阅读量:7229 次
发布时间:2019-06-29

本文共 5860 字,大约阅读时间需要 19 分钟。

 对junit单元测试的报告:类似这样的结果
------------------------------------------------------- T E S T S-------------------------------------------------------Running com.cn.qin.actionTest.UserActionTestsdffsdfsdfTests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.061 sec - in com.cn.qin.actionTest.UserActionTestResults :Tests run: 1, Failures: 0, Errors: 0, Skipped: 0[INFO] [INFO] <<< cobertura-maven-plugin:2.5.1:cobertura (cobertura-report) < [cobertura]test @ Struts <<<[INFO] [INFO] --- cobertura-maven-plugin:2.5.1:cobertura (cobertura-report) @ Struts ---[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT fileCobertura: Loaded information on 3 classes.Report time: 298ms

运行报告是junit自己的报告输出,和咱们在Eclipse运行的报告差不多。以上代表运行了3个用例,和预期效果不符的是0个,失败的用例是0个,忽略的用例数是0个。   如果需要跳过,则可以运行如下命令

1.  mvn package -DskipTests
  大家可能要问,为何Maven能够自己寻找我们编写的测试类呢?其实还是那句约定大于配置。Maven自动去寻找src/test/java下面的类,当此文件夹下面的类符合以下规范,那么Maven默认认为他们是单元
测试用例类。
  Test*.java:任何目录下以
Test为开始的类
  *Test.java: 任何目录下以Test为结尾的类
  *TestCase.java: 任何目录下以TestCase为结尾的类。
  如果想在一段时间内节省项目构建时间,暂时全部忽略单元测试。那么可以在pom.xml中配置如下
org.apache.maven.plugins
maven-surefire-plugin
2.5
true

等到项目完全开发完了,需要测试用例的时候将其注释掉即可。

本个模块有两个测试用例类,如果仅仅想运行一个测试用例该怎么办。
运行下面命令:
 test -Dtest=AccountImageServiceImplTest
这个是指定具体运行哪个测试用例。当然需要将pom文件中忽略测试用例的配置注释掉。
也可以测试多个测试用例: mvn test -Dtest=AccountImageServiceImplTest,AccountImageUtilTest
也可以使用模糊匹配进行测试:
mvn test -Dtest=*Test
org.apache.maven.plugins
maven-surefire-plugin
2.5
**/*Test.java
**/AccountImageUtilTest.java

其中includes是需要测试的类,excludes是要排除之外测试用例。可以使用模糊匹配。**用来匹配任意件路经,*匹配任意类。

 

Junit的单元测试报告的pom.xml配置

org.apache.maven.plugins
maven-surefire-report-plugin
2.12.2
false
这个默认生成的报告是txt,要生成html的报告需要使用命令mvn surefire-report:report. 这会在target/site下面生成html的报告, 后来经测试发现,
其实maven-surefire-plugin就已经可以生成txt和xml的测试结果,如果要html的报告才需要maven-surefire-report-plugin 
 
4.  测试报告
  基本的测试报告上面已经介绍过了,下面我们看看测试覆盖率的报告。运行如下命令:mvn cobertura:cobertura   其pom.xml配置
org.codehaus.mojo
cobertura-maven-plugin
2.5.1
常用命令
  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目录,下面是一个静态站点,里面就是单元测试的覆盖率报告。
  详细配置还可参考:http://zhanshenny.iteye.com/blog/1440571
5.  总结
  这次我们介绍了Maven的测试,可以运行项目的单元测试用例,并生成报告。使用者可以根据自己的需要配置测试选项以满足项目的测试需求。
我自己测试的pom.xml配置插件
org.apache.maven.plugins
maven-surefire-plugin
2.19.1
******
*/User*
Test*
org.apache.maven.plugins
maven-site-plugin
3.0-beta-3
zh_CN
GBK
org.apache.maven.plugins
maven-javadoc-plugin
2.7
org.apache.maven.plugins
maven-surefire-report-plugin
2.12.2
false
org.codehaus.mojo
cobertura-maven-plugin
2.5.1
html
xml
cobertura-report
cobertura
test

生成的测试覆盖率会在你自己项目的target/site/cobertura/下面  我的路径是 file:///D:/InstallSoft/V2/workspace/user-parent/Struts/target/site/cobertura/index.html

 

转载地址:http://gbdfm.baihongyu.com/

你可能感兴趣的文章
linux安装mysql5.7.19
查看>>
Zookeeper+ActiveMQ 集群实现
查看>>
加权有向图问题2----多源最短路径问题(Floyd算法)和关键路径算法
查看>>
logback logback.xml常用配置详解(三) <filter>
查看>>
KgMall B2B/B2B2c/C2C版店铺商号初始化
查看>>
Linux内核的ioctl函数学习
查看>>
Liunx Shell入门
查看>>
Thread的中断
查看>>
linux --- 内存管理
查看>>
PostgreSQL
查看>>
CPU 超线程、多核
查看>>
用ASCII码显示string.xml中的特殊字符
查看>>
网站301跳转到新域名
查看>>
codewars020: The Clockwise Spiral 数字顺时针螺旋矩阵
查看>>
ios 下拉刷新
查看>>
Django在Windows系统下的安装配置
查看>>
懒到极致:对mybatis的进一步精简
查看>>
Android学习之OTA Update
查看>>
Maven Multi-environment package
查看>>
JMM-java内存模型
查看>>