《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完成的.进一步说,每个任务对应了 ...
随机推荐
- 0、手把手教React Native实战之开山篇
##作者简介 东方耀 Android开发 RN技术 facebook github android ios 原生开发 react reactjs nodejs 前端 ...
- 总结 一下UML 类图的关系
1,实线三角 表示 泛化 是一种继承关系,它指定了子类如何特化父类的所有特征和行为 2,虚线三角 表示 实现 是一种类与接口的关系,表示类是接口所有特征和行为的实现 3,空心菱形 表示 聚合 是整 ...
- cxGrid 显示行号及行号列列名
cxGrid默认不显示行号,但是可以通过cxGrid1DBTableView1CustomDrawIndicatorCell事件来重绘行号 选中cxGrid1DBTableView1,在OnCusto ...
- mvc中使用uploadify批量上传的应用
网上找了很多资料都没有发现一个好用.可以用的uploadify批量上传的应用,这里通过官方和自己的一些项目需要整理了一个出来. 希望能帮助到需要的人. 效果图:
- Spring容器初始化的时候如何添加一个定时器?
昨天遇到这个问题,在项目启动的时候添加一个定时器隔一段时间扫描有没有定时发送的邮件(当然也可以是你自己的业务逻辑),也在网上找了资料,加上自己的修改,终于成功了.所以来做个记录. 1.ServletC ...
- 查看python对象的属性
在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要查看相应的Python对象是否包含需要的函数或常量.下面介绍一下,如何查看Python对象中包含哪些属性,如成员函数.变量等,其中 ...
- Hibernate 中一对多和多对多映射
1. 一对多映射 1.1 JavaWeb 一对多建表原则 多方表的外键指向一方表的主键; 1.2 编写一对多的 JavaBean // 客户(一方)和联系人(多方) // 客户(一方) JavaBea ...
- Compilation failed: internal java compiler error
在Idea中编译时出现这个错误:Error:java: Compilation failed: internal java compiler error. Information:Using java ...
- jsp页面上读取MySQL数据库datetime时间显示问题
mysql数据库中时间字段选用了datetime,如果通过java实现在jsp页面上显示时间为"年-月-日 时:分"等格式,那么如下代码就会有不同的结果! 实体类中两个变量: p ...
- Convolutional Neural Networks for Visual Recognition
http://cs231n.github.io/ 里面有很多相当好的文章 http://cs231n.github.io/convolutional-networks/ Table of Cont ...

