博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven-surefire-plugin的forkMode分析
阅读量:6005 次
发布时间:2019-06-20

本文共 1022 字,大约阅读时间需要 3 分钟。

  Maven的Surefire插件,使用了很长时间,尽快有时运行存在一些问题(例如before、after中的内容未执行),但大多顺利的解决了。今天亮亮在项目中遇到Surefire并发执行的问题,自己着手从实践测试和源代码的角度来分析。

附:各插件地址:

1、实践:

 
  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.               <excludes>  
  7.                   <exclude>**/TestConstants.java</exclude>  
  8.               </excludes>  
  9.               <forkMode>always</forkMode>  
  10.            </configuration>  
  11. </plugin> 

<forkMode>always</forkMode>

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。

<forkMode>always</forkMode>

<parallel>methods</parallel>

<threadCount>4</threadCount>

实践代码:待续

 

本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/672338,如需转载请自行联系原作者

你可能感兴趣的文章
linux学习之“VI”与“VIM”
查看>>
linux下无线网卡驱动安装
查看>>
oracle recyclebin与flashback drop
查看>>
我的友情链接
查看>>
svmlight使用说明
查看>>
LVM
查看>>
学习之shell脚本
查看>>
Andorid Launcher程序代码分析
查看>>
Swing 和AWT之间的关系
查看>>
Mysql设置自增长主键的初始值
查看>>
Android计时器正确应用方式解析
查看>>
性能及监控
查看>>
linux系统CPU、内存、硬盘、网络、lnmp服务整体监控邮件报警
查看>>
我的友情链接
查看>>
个人总结问卷调查,头脑风暴,焦点小组的区别
查看>>
【转】不懂得使用工具的测试不是好测试
查看>>
JMeter基础之-使用技巧
查看>>
获取post传输参数
查看>>
ASP生成静态页面的方法
查看>>
使用递归从数据库读取数据来动态建立菜单
查看>>