对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。

Maven中配置生成单元测试报告配置的更多相关文章

  1. Maven中pom.xml文件的配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. 【Java_SSM】(三)maven中的配置文件setting的配置

    这篇博文我们介绍两方面:如何修改setting.xml文件及相应配置(本文maven版本为3.5.0) (1)首先打开maven文件目录--conf,会看见如下目录 (2)复制setting.xml文 ...

  3. hibernate在maven中自动生成

    1.构建数据库连接 2.新建maven项目,利用工具生成hibernate相应的类和xml文件 新建pojo包 右击项目 点击Configure Facets 选择hibernate 选择包 选择驱动 ...

  4. Maven中基于POM.xml的Profile来动态切换配置信息

    [转载:https://blog.csdn.net/blueheart20/article/details/52838093] 1. Maven中的profile设置 Maven是目前主流的项目代码结 ...

  5. 手把手教你如何在window下将jenkins+allure集成生成的测试报告通过jenkins配置邮箱自动发送-04(非常详细,非常实用)

    简介 上一篇生成测试报告,小伙伴们和童鞋们就又问道,测试报告已经生成了,怎么发送给相关的负责人了?小伙伴们和童鞋们不要着急,听宏哥慢慢给你道来,心急吃不了热豆腐哈.今天这篇文章宏哥就给小伙伴和童鞋们来 ...

  6. SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

    操作步骤: 1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击"开始"."运行",然后在"打开&quo ...

  7. IntelliJ IDEA14.1中java项目Maven中没有配置JDK时的问题

    在IntelliJ IDEA 14.1中使用在java项目中使用Maven时当没有在Maven中配置JDK编译版本.源码版本时,IDEA将默认的编译版本.源码版本设置为jdk5. 在IDEA中Lang ...

  8. tomcat的文件路径 servelet的配置 以及maven中的WEB-INF的路径

    Tomcat JavaWeb应用的组成结构 开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错 WebRoot →Web应用所在 ...

  9. maven中jetty插件配置

    maven中jetty插件的配置,可用于项目在内置jetty服务器中的部署. <plugin> <groupId>org.mortbay.jetty</groupId&g ...

随机推荐

  1. SEA 教程

    Sina App Engine(SAE)教程(11)- Yaf使用 Sina App Engine(SAE)入门教程(10)- Cron(定时任务)使用 Sina App Engine(SAE)入门教 ...

  2. 搞懂分布式技术9:Nginx负载均衡原理与实践

    搞懂分布式技术9:Nginx负载均衡原理与实践 本篇摘自<亿级流量网站架构核心技术>第二章 Nginx负载均衡与反向代理 部分内容. 当我们的应用单实例不能支撑用户请求时,此时就需要扩容, ...

  3. nyoj117——树状数组升级版(树状数组+离散化)

    求逆序数 时间限制:2000 ms  |  内存限制:65535 KB 难度:5   描述 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中 ...

  4. 基于java的https双向认证,android上亦可用

    From: http://my.oschina.net/jjface/blog/339144 概述: 客户端,浏览器或者使用http协议和服务器通信的程序. 如: 客户端通过浏览器访问某一网站时,如果 ...

  5. IOS-每个程序员的编程之路上都应该看这11本书

    国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响.每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加 ...

  6. 前端url传递编码问题

    JAVASCRIPT中URL 传递参数(特殊字符)解决方法及转码解码的介绍 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符 ...

  7. LeetCode OJ:Search in Rotated Sorted Array(翻转排序数组的查找)

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  8. Python3安装(二)

    因为Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要开始学习Python编程,首先 ...

  9. (转) MapReduce Design Patterns(chapter 5 (part 2))(十)

    Replicated Join Pattern Description 复制join是一种特殊的join,用于一个大数据和许多小数据集map端执行的情况. Intent 这种模式能够消除reduce阶 ...

  10. MQTT再学习 -- 漫谈MQTT协议

    先占楼,稍后再讲.先搭建好MQTT服务器和客户端