maven test 運行指定類或方法


maven test 運行指定類或方法


>mvn test -Dtest=[ClassName] html

運行測試類中指定的方法:(這個須要maven-surefire-plugin:2.7.3以上版本才能支持)
 
>mvn test -Dtest=[ClassName]#[MethodName]
//[MethodName]爲要運行的方法名,支持*通配符,範例:
>mvn test -Dtest=MyClassTest#test1

>mvn test -Dtest=MyClassTest#*test* java


仿照了spring源代碼中的測試類的命名,所有都是以Tests結尾的,可是搬過來用後,運行mvn test,卻報找不到任何測試類,以下:
------------------------------------------------------- 
 T E S T S 
------------------------------------------------------- 
There are no tests to run. 

鬱悶之際查了一下 maven參考資料,發現原來是 surefire插件的默認行爲所致。
maven是使用
surefire插件執行測試的,它按照指定格式的類名來查找匹配的測試類,
默認包含的測試類:
  • **/*Test.java
  • **/Test*.java
  • **/*TestCase.java
默認排除的測試類:
  • **/Abstract*Test.java
  • **/Abstract*TestCase.java

所以默認狀況下「**/*Tests.java」是不會被mvn test發現並執行的,可按以下修改surefire插件的配置以達到包含"**/*Tests.java"測試類的目的:
<build>
   <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
         <includes>
           <include>**/*Tests.java</include>
         </includes>
         <excludes>
           <exclude>**/Abstract*.java</exclude>
         </excludes>
       </configuration>
     </plugin>
   </plugins>
 </build>

Ref: spring

http://www.oschina.net/code/snippet_157514_37277 apache

http://rongjih.blog.163.com/blog/static/335744612010102911363452/ maven

相關文章
相關標籤/搜索