私は、バックグラウンドサーバデーモンをスピンアップさせて、サーバとの通信を必要とするクライアントに対してテストを書くことができるかどうか疑問に思っていました。正しく無期限にサーバーをスピンアップしますが、ブロックjunitテストのバックグラウンドプロセスをスピンアップするためのAnt
<java classpath="${jar.dir}/foo.jar" classname="foo.Server" fork="true" failonerror="true">
<arg value="7777"/>
</java>
:私はそうのような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>
私は、これは引数によって引き起こされると仮定しますが、それはサーバが必要だと私はそれを回避する方法がわかりません。あなたが生成されたJavaプロセスを作成することができますfailonerror
属性を削除
<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>
junitテストでサーバーを直接起動/停止する必要があります。そうすれば、あなたはテストを実行するためのアリまたは他のプロセスに依存しません。 – oers