Ant:如何启动Web服务器然后返回并运行单元测试?

时间:2011-10-29 14:26:47

标签: ant junit

我有一个包含Junit目标的Ant文件,在运行Junit目标之前我必须启动Web服务器(也是目标)让单元测试顺利运行(有一些基于Web的UI单元测试)。但是,当我启动Web服务器时,ant脚本处于挂起状态并阻止所有后续执行。有没有办法启动Web服务器,然后返回并运行单元测试?

    <target name="runserver" description="Run hosted mode">
       <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">.....</java>
    </target>

    <target name="test" depends="runserver">
       <junit fork="yes" printsummary="yes" haltonerror="true" haltonfailure="true">...</junit>
    </target>

1 个答案:

答案 0 :(得分:1)

您可能必须在exec / java Task中使用“spawn = true”。否则,在服务器作为分叉进程启动后,Ant将被暂停,因为它尝试从标准输入读取。尝试执行你的exec任务:

    <exec executable="${your.Server.executable}" spawn="true"/>
    <java jar="${your.Server.jar}" spawn="true">...</java>