代码改变世界

Maven plugin 插件

2017-12-25 15:44  faunjoe88  阅读(284)  评论(0编辑  收藏  举报

1.maven-surefire-plugin简介:

  Maven在构件时执行到测试的生命周期时,会使用maven-surefire-plugin运行测试用例,背后执行的Junit或者TestNG的测试框架。

  在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/java/test/)下所有符合一组命名模式的测试类。

  这组模式为:

  • **/Test*.java:任何子目录下的所有命名以Test开头的Java类
  • **/*Test.java:任何子目录下所有命名以Test结尾的Java类
  • **/*Tests.java:任何子目录下所有命名以Tests结尾的Java类
  • **/*TestCase.java:任何子目录下所有命名以TestCase结尾的Java类

  只要将测试类按上述模式命名,Maven就能自动运行它们,用户也就不需要定义测试集合(TestSuite)来聚合测试用例(TestCase)。

  重用测试代码:

  默认Maven的打包行为不会把测试代码打在包里,但是在项目内部重用某个模块的测试代码是很常见的需求,

     比如在某个底层模块的测试代码中包含了一些常用的测试工具类,或者一些高质量的测试基类供继承。

     这时我们需要修改maven打包的默认行为:

  

<plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-jar-plugin</artifactId>
           <version>2.2</version>
            <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
             </executions>
</plugin>

 

通过以上代码,启用了maven-jar-plugin的test-jar目标,而该目标默认绑定在package阶段。