博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven中配置生成单元测试报告配置
阅读量:4928 次
发布时间:2019-06-11

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

转载:http://www.blogjava.net/qileilove/archive/2014/06/12/414651.html

 
对junit单元测试的报告:
  1.  -------------------------------------------------------
  2.   T E S T S
  3.  -------------------------------------------------------
  4.  Running com.liuyan.account.mail.AccountImageServiceImplTest
  5.  ---------------------------------1990
  6.  Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.926 sec
  7.  Running com.liuyan.account.mail.AccountImageUtilTest
  8.  Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
  9.
  10.  Results :
  12.  Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
  运行报告是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中配置如下
1.  <build>
2.      <plugins>
3.          <plugin>
4.              <groupId>org.apache.maven.plugins</groupId>
5.              <artifactId>maven-surefire-plugin</artifactId>
6.              <version>2.5</version>
7.              <configuration>
8.                  <skipTests>true</skipTests>
9.              </configuration>
10.          </plugin>
11.      </plugins>
12.  </build>
  等到项目完全开发完了,需要测试用例的时候将其注释掉即可。
 本个模块有两个测试用例类,如果仅仅想运行一个测试用例该怎么办。运行下面命令
  1.  test -Dtest=AccountImageServiceImplTest
  这个是指定具体运行哪个测试用例。当然需要将pom文件中忽略测试用例的配置注释掉。
  也可以测试多个测试用例
  1.  mvn test -Dtest=AccountImageServiceImplTest,AccountImageUtilTest
  也可以使用模糊匹配进行测试
  1.  mvn test -Dtest=*Test
1.  <build>
2.      <plugins>
3.          <plugin>
4.              <groupId>org.apache.maven.plugins</groupId>
5.              <artifactId>maven-surefire-plugin</artifactId>
6.              <version>2.5</version>
7.              <configuration>
8.                  <includes>
9.                      <include>**/*Test.java</include>
10.                  </includes>
11.                  <excludes>
12.                      <exclude>**/AccountImageUtilTest.java</exclude>
13.                  </excludes>
14.              </configuration>
15.          </plugin>
16.      </plugins>
17.  </build>
  includes是需要测试的类,excludes是要排除之外测试用例。可以使用模糊匹配。**用来匹配任意件路经,*匹配任意类。
  Junit的单元测试报告:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<showSuccess>false</showSuccess>
</configuration>
</plugin>
</plugins>
</reporting>
  这个默认生成的报告是txt,要生成html的报告需要使用命令mvn surefire-report:report. 这会在target/site下面生成html的报告
  后来经测试发现,其实maven-surefire-plugin就已经可以生成txt和xml的测试结果,如果要html的报告才需要maven-surefire-report-plugin
  
4.  测试报告
  基本的测试报告上面已经介绍过了,下面我们看看测试覆盖率的报告。运行如下命令
  1.  mvn cobertura:cobertura
  pom配置
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
</plugins>
</reporting>
...
</project>
  常用命令
  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的测试,可以运行项目的单元测试用例,并生成报告。使用者可以根据自己的需要配置测试选项以满足项目的测试需求。最后说一下,测试十分重要,往往大手笔的产品测试人员和开发人员的比例是2:1。
 
 
 

转载于:https://www.cnblogs.com/ceshi2016/p/8479914.html

你可能感兴趣的文章
Codeforces Round #403(div 2)
查看>>
大型网站处理高并发要点技术
查看>>
Codeforces-1059D:Nature Reserve问最大的圆包含全部点
查看>>
牛客练习赛24
查看>>
转发推荐系统文章
查看>>
并排,快排和冒泡排序
查看>>
BZOJ 1073: [SCOI2007]kshort
查看>>
在centos上安装tomcat
查看>>
第十四章 异常处理
查看>>
超链接-a标签
查看>>
转载ASP.NET MVC中Session的处理机制
查看>>
Makefile 語法簡介
查看>>
sql面试题(学生表_课程表_成绩表_教师表)
查看>>
Sublime 保存时自动转换tab成空格
查看>>
atom 插件 python语法验证linter-flake8-------填坑
查看>>
cuda中当元素个数超过线程个数时的处理案例
查看>>
转:PCL+VS2010环境配置
查看>>
volatile
查看>>
uploadify3.2.1加载时,报NetworkError 404 Not Found或NetworkError forbidden错误
查看>>
Vim 常用命令总结
查看>>