zoukankan      html  css  js  c++  java
  • 用maven进行测试

      maven的重要职责之一就是自动运行单元测试,它通过maven-surefire-plugin与主流的单元测试框架junit和testng集成,并且能够自动生成丰富的结果报表。

      maven并不是一个单元测试框架,他只是在构建执行打特定的生命周期阶段的时候,通过插件来执行JUnit或testNG的测试用例,这个插件就是maven-surefire-plugin,也叫做测试运行器。maven-surefire-plugin会自动执行测试源码路劲下(src/test/java)的所有符合以下命名模式的测试用例

      **/Test*.java:任何子目录下的所有命名以Test开头的java类

      **/**Test.java:任何子目录下的所有命名以Test结尾的java类

      **/**TestCase.java:任何子目录下的所有命名以TestCase结尾的java类

      只要将测试类按上述模式命名,maven就能自动运行它们,用户也就不再需要定义测试集合(testsuite)来聚合测试用例了。

      当然也可以自定义来包含一些不符合上述命名规则的测试类,以下定义以Tests结尾的用例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <plugin>
      <groupId>org.apache.maven.plugin</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.5<version>
      <configuration>
        <includes>
           <include>**/*Tests.java</include>
        </includes>
      </configuration>
    </plugin>

          日常工作中,软件开发人员总有很多理由来跳过单元测试,“我敢保证这次改动不会导致任何测试失败,测试运行太耗时了,暂时跳过一,有持续集成服务跑所有测试呢,我本地就不执行啦。在大部分情况下,这想法都是不对的。任何改动都要交给测试去验证,测试运行耗时过长应该考虑优化测试,更不要完全依赖持续集成服务来报告错误,测试错误应该尽早在尽小范围内发现,并及时修复。

      maven同时也可以通过设置skipTest来跳过测试。

    测试报告:

      surefire会在target-report下生成两种格式的错误与报告,简单文本格式和支持JUnit的XML格式。

    测试覆盖率报告:

      cobertura是一个开源的测试覆盖率统计工具,使用时添加插件cobertura-maven-plugin

    testng:

      可以使用testing.xml的文件,来配置想要运行的测试集合。然后再pom文件里在配置使用该文件。

  • 相关阅读:
    高可靠JAVA项目
    C语言JS引擎
    星际争霸,FF反作弊对战平台
    【转】ffluos编译
    〓经典文字武侠游戏 书剑 书剑江湖自由度超高!公益服!〓
    全局解释器锁GIL
    创建多线程Thread
    线程的简述Thread
    进程池的回调函数callback
    进程池的同步与异步用法Pool
  • 原文地址:https://www.cnblogs.com/silence-hust/p/4217819.html
Copyright © 2011-2022 走看看