`
squll369
  • 浏览: 106792 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Maven 中的自动测试

阅读更多

    我们用maven来管理一个项目,只要将测试类放在src/test/java里,默认 mvn package 的时候就会去执行里面的testcase. 这其实是由于maven默认会去用maven-surefire-plugin这个插件。

     假设我们用junit3来编写我们的测试用例,只要在src/test/java里放置了以Test结尾的java,当mvn package的时候就去自动去执行这些java里的以test开头的方法了。这是由于maven-surefire-plugin里有默认的寻找tesecase的规则就有这些。

     但是当我们要定制一些规则,比如屏蔽一些testcase不去执行他,就一定要自己定制好maven-surefire-plugin这个插件在build里,如下配置,我们只跑com.zhouxiaobo.util包下的testcase,而其他包下的testcase就不跑了,当然也还可以定义 excludes。

 

<plugins>
            <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.7.1</version>
                  <configuration>
                        <includes>
                              <include>com/zhouxiaobo/util/*Test.java</include>
                              <!--  <include>com/zhouxiaobo/util2/*Test.java</include> -->
                        </includes>
                  </configuration>
            </plugin>
      </plugins>

 

我们也可以在这里直接配置跳过该pom在在项目的所有test,

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
    </plugins>

 

当然我们也可以在mvn执行的时候跳过所有的test, 只要在命令中加上 -Dmaven.test.skip=true, 例如 mvn install -Dmaven.test.skip=true

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics