maven插件的学习---maven-surefire-plugin测试运行器

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
 print ?
  1. <plugin>  
  2.     <groupId>org.apache.maven.plugins</groupId>  
  3.     <artifactId>maven-surefire-plugin</artifactId>  
  4.     <version>2.5</version>  
  5.     <configuration>  
  6.         <includes>  
  7.             <include>**/*Tests.java</include>  
  8.         </includes>  
  9.         <excludes>  
  10.             <exclude>**/*ServiceTest.java</exclude>  
  11.             <exclude>**/TempDaoTest.java</exclude>  
  12.         </excludes>  
  13.     </configuration>  
  14. </plugin>  

你可能感兴趣的:(maven插件的学习---maven-surefire-plugin测试运行器)