《Maven实战》第10章 使用Maven进行测试
- 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解决。
- 使用maven-surefire-plugin的test参数
- 10.5包含与排除测试用例
- 包含测试用例
- 排除测试用例
- 包含测试用例
- 10.6测试报告
- 10.6.1基本的测试报告
- 默认情况下,surefire插件在target/sureifire-reports下生成两种测试报告1)简单文本格式2)与JUnti兼容的XML格式
- 报告说明了哪个方法测试失败、哪个断言失败以及具体的堆栈信息
- 10.6.2测试覆盖率报告
- Cobertura:开源的测试覆盖率统计工具。
- 运行mvn cobertura:cobertura
- 10.6.1基本的测试报告
- 10.7TestNG测试
- TestNG
- 10.8重用测试代码
- 默认打包时不会打包测试代码。

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

- 默认打包时不会打包测试代码。
《Maven实战》第10章 使用Maven进行测试的更多相关文章
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- Maven实战(八)——常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- 学习笔记-[Maven实战]-第三章:Maven使用入门(1)
说明:[Maven实战]一书还介绍了怎么样手工创建Maven工程,学习这本书是为了能尽快在工作中使用,就忽略了手工建工程的部分 如果想了解这部分的内容,可以自己看看书 开始: 1.新建一个maven工 ...
- 学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...
- Maven实战(四)——基于Maven的持续集成实践
Martin的<持续集成> 相信非常多读者和我一样.最早接触到持续集成的概念是来自Martin的著名文章<持续集成>.该文最早公布于2000年9月,之后在2006年进行了一次修 ...
- 学习笔记——Maven实战(七)常用Maven插件介绍(上)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...
- 学习笔记-[Maven实战]-第三章:Maven使用入门(2)
使用maven执行编译和测试 1.maven执行编译 (1).在pom.xml上点右键,选择Maven build... (2).在Goals里输入clean complie,执行编译 执行结果: [ ...
- 学习笔记-[Maven实战]-第三章:Maven使用入门(3)
这里说一下在建测试工程里遇到的问题 1.第一次建工程,junit依赖始终没有成功,最后删除现在工程,新建了一个工程就好了 2.使用junit4的问题.工程默认的依赖是junit3.8.1,我改成了4. ...
- Maven实战(七)——常用Maven插件介绍(上)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...
随机推荐
- 无法打开输入文件“optimized.lib” 编译osgEarth2.8+VS2013+CMake3.4.0在Release版本的问题
1>LINK : fatal error LNK1181: 无法打开输入文件“optimized.lib” 可以到http://forum.osgearth.org搜索相关帖子,gwaldron ...
- PhoneGap 获得设备属性Demo
<!DOCTYPE html> <html> <head> <title>设备属性Demo</title> <script type= ...
- CentOS7.0 安装 Nginx
记录下,方便以后查阅. 1.安装依赖库 yum install gcc-c++ yum install pcre pcre-devel yum install zlib zlib-devel yum ...
- 百度订单Api注意事项
背景介绍: 申请的百度地图API,采用javascript sdk方式 页面引用 问题1:更换域名导致定位插件不能用 需要修改百度地图-应用中的白名单设置,按照规则添加新的域名 问题2:http与ht ...
- 【BZOJ1491】[NOI2007]社交网络 Floyd
[BZOJ1491][NOI2007]社交网络 Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子 ...
- MySQL安装和Navicat安装、破解
1)mysql下载 地址:https://dev.mysql.com/downloads/mysql/ 2)一路next安装,安装好后文件目录如下(不包括data文件夹,my.ini文件) 3)新建文 ...
- Scala学习之Tuple、Map、Array
1.Tuple Tuple的中文意思是元组,它的定义是不需要方法. 例如:val tup=(25,”Tuple”,”Map”,”Array”). 值得注意的是,Tuple在进行索引的时候,与我们平时所 ...
- GRPC使用错误排查记录
1. 编译报错 f.fr.SetReuseFrames undefined (type *http2.Framer has no field or method SetReuseFrames) 该问题 ...
- 码云平台, 生成并部署SSH key
参考链接: http://git.mydoc.io/?t=154712 步骤如下: 1. 生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com&q ...
- 剑指Offer——重建二叉树
题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7 ...

