我有一个包含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>
答案 0 :(得分:1)
您可能必须在exec / java Task中使用“spawn = true”。否则,在服务器作为分叉进程启动后,Ant将被暂停,因为它尝试从标准输入读取。尝试执行你的exec任务:
<exec executable="${your.Server.executable}" spawn="true"/>
<java jar="${your.Server.jar}" spawn="true">...</java>