Ant为junit测试启动后台进程

时间:2011-11-10 21:23:02

标签: ant junit

我想知道是否有可能让Ant启动后台服务器守护程序,以便我可以针对需要对服务器进行通信的客户端编写测试。我尝试过像这样创建一个java任务:

     <java classpath="${jar.dir}/foo.jar" classname="foo.Server" fork="true"  failonerror="true">
         <arg value="7777"/>
     </java>

正确地旋转服务器,但无限期地阻塞。如果我添加spawn="true",我会得到:

spawn does not allow attributes related to input, output, error, result
spawn also does not allow timeout
finally, spawn is not compatible with a nested I/O <redirector> 

我认为这是由参数引起的,但它是服务器所需要的,我不知道如何绕过它。

以下是我当前的junit目标:

 <target name="junit" depends="build-jar">
     <mkdir dir="${report.dir}"/>

     <junit printsummary="yes">
         <classpath>
             <path refid="junitcp"/>
         </classpath>
         <formatter type="brief"/>
         <batchtest fork="yes" todir="${report.dir}">
             <fileset dir="${homeDir}" includes="foo/*Test.java"/>
         </batchtest>
     </junit>
 </target>

1 个答案:

答案 0 :(得分:1)

删除failonerror属性允许您创建衍生的java进程。