`

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

<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> 



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics