1.maven-surefire-plugin简介
Maven本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过插件来执行JUnit或者TestNG的测试用例。这个插件就是maven-surefire-plugin,也可以称为测试运行器(Test Runner),它能兼容JUnit 3、JUnit 4以及TestNG。
在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/Java/)下所有符合一组命名模式的测试类。
默认情况下,surefire会执行文件名以Test开头或结尾的测试用例,或者是以TestCase结尾的测试用例。
这组模式为:
**/Test*.java:任何子目录下所有命名以Test开关的Java类。
**/*Test.java:任何子目录下所有命名以Test结尾的Java类。
**/*TestCase.java:任何子目录下所有命名以TestCase结尾的Java类。
2.maven-surefire-plugin的使用
如果说maven意见有了maven-surefire-plugin的默认配置,我们还有必要了解maven-surefire-plugin的配置么?答案是肯定的。虽说maven-surefire-plugin有默认配置,但是当需要修改一些测试执行的策略时,就有必要我们去重新配置这个插件了。
2.1.配置JUnit
2.1.1.插件自动匹配
最简单的配置方式就不配置或者是只声明插件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
</plugin>
2.1.2.插件手动匹配
当然,如果你明确用的是JUnit4.7及以上版本,可以明确声明:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.19</version>
</dependency>
</dependencies>
</plugin>
3.包含与排除测试用例
如果由于历史原因,测试类不符合默认的三种命名模式,可以通过pom.xml设置maven-surefire-plugin插件添加命名模式或排除一些命名模式。
[html] view plain copy
<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>
分享到:
相关推荐
maven-surefire-plugin-2.22.1.jar
maven-surefire-plugin-2.7.1.jar
idea中maven项目右侧插件红线,可能需要手动导入架包等文件,直接把压缩包考进去就行。我的F:\maven_repository\org\apache\maven\plugins\maven-surefire-plugin文件夹下
maven-surefire-plugin-2.4.2.jar
maven-surefire-report-plugin-2.3.1.jar
6. **环境定制**:Surefire 允许用户自定义测试运行时的系统属性和环境变量,这对于模拟不同环境或依赖于特定配置的测试很有用。 7. **故障隔离**:如果一个测试失败,Surefire 通常会继续运行其他测试,避免了单个...
maven-aether-provider-3.2.1-sources.jar maven-antrun-plugin-1.3.jar maven-archiver-2.2.jar maven-artifact-3.2.1-...maven-surefire-plugin-2.12.4.jar maven-surefire-plugin-2.17.jar maven-war-plugin-2.3.jar
7. **与其他Maven插件协同工作**:与其他Maven插件如Surefire、Failsafe等配合使用,可以实现从单元测试到集成测试的一站式解决方案。 8. **多模块项目支持**:对于大型的多模块Maven项目,Maven Jetty Plugin可以...
maven-surefire-plugin-2.0.jar
maven-surefire-plugin-2.3.jar
maven-surefire-plugin-2.4.1.jar
maven-surefire-plugin-2.2.jar
maven-surefire-plugin-2.4.3.jar
maven-surefire-plugin-2.12.2.jar
maven-surefire-plugin-2.5.jar
maven-surefire-plugin-2.3.1.jar
maven-surefire-plugin-2.1.2.jar
maven-surefire-report-plugin-2.3.jar
maven-surefire-report-plugin-2.0.jar
例如,maven-compiler-plugin用于编译Java源码,maven-surefire-plugin用于执行单元测试,maven-jar-plugin则负责创建JAR文件。 在实际开发中,Maven的`settings.xml`文件通常放在用户的主目录下的`.m2`目录下,它...