我正在尝试针对一系列RMI接口/实现编写单元测试,并依赖Ant + Junit来促进这些测试。主要问题是我需要在我的Junit任务开始时启动rmiregistry
,并在执行结束时关闭,无论是失败,错误还是成功。 Ant脚本:
<project>
<target name="test">
<javac srcdir="Test/src" destdir="Test/bin" />
<junit fork="true" printsummary="true">
<batchtest>
<fileset dir="Test/test">
<include name="**/*Test.*"/>
</fileset>
</batchtest>
</junit>
</target>
</project>
答案 0 :(得分:1)
基本上,只需为junit任务设置haltonerror="false"
和failonerror="false
“
这种方式junit
不会因测试而失败。启动和停止是通过exec task完成的。我在这里使用taskkill来杀死rmiregistry.exe。
<exec executable="start"> <--your start command here -->
<arg value="rmiregistry"/>
</exec>
<junit fork="true" printsummary="true" haltonerror="false" failonerror="false" errorproperty="juniterrors" failureproperty="junitfailures">
...
</junit>
<exec executable="taskkill"> <--your shutdown command here -->
<arg value="/IM"/>
<arg value="rmiregistry.exe"/>
</exec>
<fail if="juniterrors"/> <!-- ant can fail now, if desired -->
<fail if="junitfailures"/>
另一种选择是使用try/catch from ant-contrib,但我不认为这是必需的。