使用Maven进行测试
来源:互联网 发布:文本相似度匹配算法 编辑:程序博客网 时间:2024/05/22 17:26
1、Maven 本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过插件来执行 JUnit 或者TestNG 的测试用例。这一插件就是 maven-surefire-plugin ,可以称其为测试运行器( Test Runner ),它能很好地兼容JUnit3 、 JUnit4 以及 TestNG 。
2、在默认情况下, maven-surefire-plugin 的 test 目标会自动执行测试源码目录(默认为 src/test/java/ )下所有符合以下命名模式的测试类:
1) **/Test*.java :任何子目录下所有命名以 Test 开头的 Java 类。
2) **/*Test.java :任何子目录下所有命名以 Test 结尾的 Java 类。
3) **/*TestCase.java :任何子目录下所有命名以 TestCase 结尾的 Java 类。
3、可以设置 -DskipTetst 命令行参数跳过测试的执行,也可以在 POM 中配置如下信息:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skipTests>true</skipTests> </configuration></plugin>4、可以设置 -Dmaven.test.skip=true 跳过测试代码的编译和执行,也可以在 POM 中配置如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <skip>true</skip> </configuration></plugin><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skip>true</skip> </configuration></plugin>实际上 maven-compiler-plugin 的 testCompile 和 maven-surefire.plugin 的 test 都提供了一个参数 skip ,它的命令行表达式为 maven.test.skip 。
5、maven-surefire.plugin 提供了一个 test 参数,让 Maven 用户可以只运行指定的测试用例, test 参数的值是想指定的测试用例的类名,同时该参数还支持多个值以及通配符 :
mvn test –Dtest=Random*Test,AccountCaptchaServiceTest 。如果指定的类名不存在,会导致构建失败,但可以通过 -DfailIfNoTests=false 来避免失败。
6、除了默认命名的测试文件 Maven 可以在 POM 配置中指定想包含或者想排除的测试类:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <includes> <include> **/*Tests.java</include> </includes> <excludes> <exclude> **/*ServiceTest.java</exclude> <exclude>**/TempDaoTest.java</exclude> </excludes> </configuration></plugin>两个星号 ** 用来匹配任意路径,一个星号 * 匹配除路径分隔符外的 0 个或多个字符。
7、 默认情况下, maven-surefire-plugin 会在项目的 target/surefire-reports 目录下生成两种格式的错误报告:
1) 简单文本格式
2) 与 JUnit 兼容的 XML 格式(是 Java 单元测试报告的事实标准,可以用 Eclipse 的 JUnit 插件直接打开,也可以被Hudsonw 使用。)
8、Maven 用户可以通过配置 maven-jar-plugin 将测试类打包,从而可以让别的项目重用测试代码:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> <executions> <execution> <goals> <goal>test-jar </goal> </goals> </execution> </executions></plugin>
maven-jar-plugin 有两个目标,分别是 test 和 test-jar ,前者通过 Maven 的内置绑定在 default 生命周期的 package阶段运行,作用是对项目主代码进行打包,而后者没有内置绑定,其默认绑定生命周期阶段为 package 。
在声明一个测试包构件依赖时, type 元素的值需要设定为 test-jar :
<dependency> <groupId>com.juvenxu.mvnbook.account</groupId> <artifactId>account-captcha</artifactId> <version>1.0.0-SNAPSHOT</version> <type>test-jar</type> <scope>test</scope></dependency>
原博文地址:http://seanzhou.iteye.com/blog/1393858
- 使用Maven进行测试
- 使用Maven进行测试
- 使用 Maven 进行测试
- 如何使用Maven进行测试
- 使用jetty-maven-plugin插件进行测试
- 使用jetty-maven-plugin插件进行测试
- Maven学习笔记(九):使用Maven进行测试
- 使用maven编译YCSB0.1.4对cassandra进行性能测试
- 使用jetty-maven-plugin插件进行测试---学习笔记
- IntelliJ IDEA 配合Maven使用Junit进行代码测试
- IntelliJ IDEA 配合Maven使用Junit进行代码测试
- maven打包不进行测试
- 使用Maven进行编译
- 使用JUnit进行测试
- 使用JUnit 进行测试
- 使用 PHPUnit 进行测试
- 使用RestTemplate进行测试
- maven中使用spring的test包结合junit4进行测试。
- 第十一周阅读程序(4)
- 重温 ios发送http GET和POST请求
- windows cmd命令for
- HDU 4133 StrangeStandard 反素数
- CentOS中vsftp安装、配置、卸载
- 使用Maven进行测试
- 显式启动一个service组件
- 关于ios项目目录规范结构探讨
- poj 2446 poj 1469 poj 1274 二分图最大匹配
- java synchronized详解
- iOS 开发-理解Certificate、AppId和Provisioning Profile
- CSS -webkit-box的属性
- IOS NSArray & NSDictoray -持续更新
- hostapd交叉编译及测试脚本