- Maven通过Maven Surefire Plugin插件执行单元测试。(通过Maven Failsafe Plugin插件执行集成测试)
- 在pom.xml中配置JUnit,TestNG测试框架的依赖,即可自动识别和运行src/test目录下利用该框架编写的测试用例。
- surefire也能识别和执行符合一定命名约定的普通类中的测试方法(POJO测试)。
- 生命周期中test阶段默认绑定的插件目标就是surefire中的test目标,无需额外配置,直接运行mvn test就可以。
1.基本配置如下
下文中的配置项如无特殊说明,都位于pom文件的<configuration>节点中。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
......
配置内容
......
</configuration>
</plugin>
2.常用配置
- 2.1.跳过测试阶段
<skipTests>true</skipTests>
- 2.2.忽略测试失败
- Maven在测试阶段出现失败的用例时,默认的行为是停止当前构建,构建过程也会以失败结束。有时候(如测试驱动开发模式)即使测试出现失败用例,仍然希望能继续构建项目。
<testFailureIgnore>true</testFailureIgnore>
- 2.3.包含和排除特定的测试类
- surefire默认的查找测试类的模式如下:
- surefire默认的查找测试类的模式如下:
**/Test*.java
**/*Test.java
**/*TestCase.java
- 自定义包含和排除模式
- 支持ant-style表达式和 正则表达式(%regex[...], 按.class文件匹配而不是.java)
<includes>
<include>Sample.java</include>
<include>%regex[.*[Cat|Dog].*Test.*]</include>
</includes>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>