Мне было интересно, возможно ли, чтобы 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>
Я предполагаю, что это вызвано аргументом, но это требуется сервером, и я не знаю, как его обойти.
Вот как выглядит моя текущая цель джунта:
<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>