• 10.2maven-surefire-plugin插件

    • 【生命周期】的【阶段】与【插件】的【目标】绑定
    • default生命周期的test阶段:使用单元测试框架运行测试
    • Maven内置绑定:default生命周期的test阶段与maven-surefire-plugin插件的test目标绑定
    • mvn test 将执行maven-surefire-plugin的test目标
    • maven-surefire-plugin的test目标默认会自动执行测试源码路径(src/test/java)下所有符合下列命名模式的测试类
      • **/Test*.java:任何子目录下所有以Test开头的java类
      • **/*Test.java:任何子目录下所有以Test结尾的java类
      • **/*TestCase.java:任何子目录下所有以TestCase结尾的java类
  • 10.3跳过测试(不建议)
    • mvn package -DskipTests 编译测试代码,但跳过测试
    • mvn package -Dmaven.test.skip=true 跳过编译测试代码,且跳过测试
  • 10.4动态指定要运行的测试用例
    • 使用maven-surefire-plugin的test参数

      • 示例1:mvn test -Dtest=UserSeriviceTest,AccountServiceTest 指定测试类,多个用逗号分隔
      • 示例2:mvn test -Dtest=User*Test 使用*通配符指定测试类
      • 示例3:mvn test -Dtest=User*Test,AccountServiceTest 逗号和通配符*相结合指定测试类
      • 注意:test参数必须指定至少一个测试类,mvn test -Dtest报错导致构建失败。可用mvn test -Dtest -DfailIfNoTests=false解决。
  • 10.5包含与排除测试用例
    • 包含测试用例

    • 排除测试用例
  • 10.6测试报告
    • 10.6.1基本的测试报告

      • 默认情况下,surefire插件在target/sureifire-reports下生成两种测试报告1)简单文本格式2)与JUnti兼容的XML格式
      • 报告说明了哪个方法测试失败、哪个断言失败以及具体的堆栈信息
    • 10.6.2测试覆盖率报告
      • Cobertura:开源的测试覆盖率统计工具。
      • 运行mvn cobertura:cobertura
  • 10.7TestNG测试
    • TestNG
  • 10.8重用测试代码
    • 默认打包时不会打包测试代码。

    • maven-jar-plugin有两个目标jar,test-jar;其中jar与default生命周期的package阶段内置绑定,test-jar没绑定
    • 通过以上配置,将分别打包项目主代码和测试代码
 

《Maven实战》第10章 使用Maven进行测试的更多相关文章

  1. 学习笔记——Maven实战(八)常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  2. Maven实战(八)——常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  3. 学习笔记-[Maven实战]-第三章:Maven使用入门(1)

    说明:[Maven实战]一书还介绍了怎么样手工创建Maven工程,学习这本书是为了能尽快在工作中使用,就忽略了手工建工程的部分 如果想了解这部分的内容,可以自己看看书 开始: 1.新建一个maven工 ...

  4. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  5. Maven实战(四)——基于Maven的持续集成实践

    Martin的<持续集成> 相信非常多读者和我一样.最早接触到持续集成的概念是来自Martin的著名文章<持续集成>.该文最早公布于2000年9月,之后在2006年进行了一次修 ...

  6. 学习笔记——Maven实战(七)常用Maven插件介绍(上)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...

  7. 学习笔记-[Maven实战]-第三章:Maven使用入门(2)

    使用maven执行编译和测试 1.maven执行编译 (1).在pom.xml上点右键,选择Maven build... (2).在Goals里输入clean complie,执行编译 执行结果: [ ...

  8. 学习笔记-[Maven实战]-第三章:Maven使用入门(3)

    这里说一下在建测试工程里遇到的问题 1.第一次建工程,junit依赖始终没有成功,最后删除现在工程,新建了一个工程就好了 2.使用junit4的问题.工程默认的依赖是junit3.8.1,我改成了4. ...

  9. Maven实战(七)——常用Maven插件介绍(上)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...

随机推荐

  1. JMETER 不同线程组 变量值 的参数传递(转)

    线程组 1   在线程组1中使用__setProperty函数设置jmeter属性值(此值为全局变量值),将所需变量值如${token}设置为jmeter属性值,即newtoken,示例: 1.添加- ...

  2. bunoj 13124(数位dp)

    数位dp每次都给我一种繁琐的感觉.. A - Palindromic Numbers Time Limit:2000MS     Memory Limit:32768KB     64bit IO F ...

  3. 9.JavaScript简单计算器的实现

    1.难点,怎么获取标签的值,注意点,获取到的值都是string类型,还要转换 var num1 = parseInt(document.getElementById("num1") ...

  4. 高德js API moveAlong 函数的一个错误解决

    使用覆盖物之一:点标记,让点标记沿着固定的路线移动. API 提供了现成的函数 moveAlong() 开始以为 实现移动很简单:分两部 1.准备好经纬度数组 2.调用moveAlong()函数.按照 ...

  5. 标准编译安装(configure make)

      ./configure --prefix=安装目录 这里注意,安装目录可以自己选择地方,但是自己选择地方的话就要把编译出的bin.include.lib三个文件夹分别加入XXX XXX XXX三个 ...

  6. windows 键盘全局钩子

    // HookapiTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> #inc ...

  7. 基于mondrain 的原理纠正特殊指标值

    原文地址:http://www.cnblogs.com/qiaoyihang/p/7348385.html 下面有两张表 数学试卷成绩 表1 学号 省份 批次 学校 试卷成绩 数学试卷小题成绩 表2 ...

  8. php imagemagick库安装使用

    imagemagick介绍: ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. ...

  9. c++ 库 boost安装

    http://blog.chinaunix.net/uid-12226757-id-3427282.html ubuntu apt-get install libboost-dev 全部: apt-g ...

  10. [转]C#读写远程共享文件夹

    1.在服务器设置一个共享文件夹,在这里我的服务器ip地址是10.200.8.73,共享文件夹名字是share,访问权限,用户名是administrator,密码是11111111. 2.新建一个控制台 ...