我有一个Ant文件包含一个Junit目标,在运行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>
你可能要使用"spawn=true"在你的exec/java任务。否则,在服务器作为分支进程启动之后,Ant将被挂起,因为它试图从标准输入中读取数据。在你的exec任务中试试这样做:
<exec executable="${your.Server.executable}" spawn="true"/>
<java jar="${your.Server.jar}" spawn="true">...</java>