maven-surefire-plugin的forkMode分析

来源:互联网 发布:横幅广告制作软件 编辑:程序博客网 时间:2024/05/22 04:36

今天遇到一个奇怪的问题,同样的测试代码,在本地执行没任何问题,但是到测试机器上执行,就会提示“找不到符号”,是编译时类路径找不全。排查半天,发现是maven-surefire-plugin插件的forkMode问题,我在pom文件中写的是<forkMode>always</forkMode>。把这个去掉就好了,按道理,不会因为这个原因出现类路径找不全的问题啊,搜了下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。


附上maven常见的插件:http://maven.apache.org/plugins/index.html

0 0
原创粉丝点击