maven-surefire-plugin插件

本文介绍了Maven的Surefire插件的基本配置及如何通过forkMode属性控制测试用例的执行方式,包括never、once、always和pertest四种模式,并提供了配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编写写Junit脚本后,进行全网回归的时候,肯定会接触Maven的surefire插件。

基本配置如下:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <plugin>  
  2.         <groupId>org.apache.maven.plugins</groupId>  
  3.         <artifactId>maven-surefire-plugin</artifactId>  
  4.         <configuration>  
  5.             <argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m</argLine>    
  6.             <additionalClasspathElements>  
  7.                 <additionalClasspathElement>  
  8.                     ${basedir}/target/test-classes  
  9.                 </additionalClasspathElement>  
  10.             </additionalClasspathElements>  
  11.             <includes>  
  12.                 <include>**/*Test.java</include> 
  13.             </includes> 
  14.             <excludes> 
  15.                 <exclude>**/TestConstants.java</exclude>  
  16.             </excludes>  
  17.             <forkMode>pertest</forkMode>  
  18.         </configuration>  
  19.     </plugin></span>  

Maven运行测试用例时,是通过调用maven的surefire插件并fork一个子进程来执行用例的。forkmode属性中指明是要为每个测试创建一个进程,还是所有测试在同一个进程中完成。


forkMode 可设置值有 “never”, “once”, “always” 和 “pertest”。


pretest: 每一个测试创建一个新进程,为每个测试创建新的JVM是单独测试的最彻底方式,但也是最慢的,不适合hudson上持续回归。
once:在一个进程中进行所有测试。once为默认设置,在Hudson上持续回归时建议使用默认设置。
always:在一个进程中并行的运行脚本,Junit4.7以上版本才可以使用,surefire的版本要在2.6以上提供这个功能,其中 threadCount:执行时,指定可分配的线程数量。只和参数parallel配合使用有效。默认:5。

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <forkMode>always</forkMode>  
  2. <parallel>methods</parallel>  
  3. <threadCount>4</threadCount></span>  

surefire里还有其它一些有趣的参数,如果有兴趣,你可以访问
http://maven.apache.org/plugins/maven-surefire-plugin/examples/inclusion-exclusion.html 来了解更多信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值