Junit中的一些参数 :fork, forkmode

在使用Ant集成Junit来运行unit test时, 会有一段很常见的配置:

<junit fork="yes" forkmode="once" dir="directoryContainingJars">

<classpath path="junit.jar"/>

<!-- additional classpath entries -->

<batchtest>

  <fileset dir="${unittest folder}"> 

    <include name="**/*Test.java" />

  <!-- filesets specifying the desired test files -->

  </fileset>

</batchtest>

</junit>

其中不太明白参数fork 和 forkmode 的含义, 在google上查了一下,找到了类似的含义:

fork: 代表是否以后台Daemon的方式来运行任务

forkmode: 指明是否要为一个测试创建一个进程,还是所有测试都在同一个进程中完成。 其中可选的值为:

 1. never: 不创建新进程

 2. once: 在一个进程中进行所有测试, 这也是默认值

 3. always: 在几个进程中并行的运行脚本。 Junit4.7以上版本才支持,需要和 参数 treadCount 和 parallel 参数一起使用才有效。

   <forkMode>always</forkMode>

   <parallel>methods</parallel>

   <threadCount>4</threadCount>

4. pretest: 为每一个测试创建一个进程。 感觉一般都没有必要使用这个。

一般最常用的参数是 once。

posted on 2012-01-10 23:27  程序员纳尼  阅读(1644)  评论(0编辑  收藏  举报

导航