0

我正在尝试针对一系列 RMI 接口/实现编写单元测试,并依靠 Ant + Junit 来促进这些测试。主要问题是我需要rmiregistry在我的 Junit 任务开始时启动并在执行结束时关闭,无论是失败、错误还是成功。蚂蚁脚本:

<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>
4

1 回答 1

1

基本上,只需为 junit 任务设置haltonerror="false"和“。 这种方式不会因测试而失败。启动和停止是通过exec 任务完成的。我在这里使用 taskkill 来杀死 rmiregistry.exe。failonerror="false
junit

<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"/>

另一种选择是使用来自 ant-contrib 的 try/catch,但我认为这里不需要。

于 2012-07-11T19:47:07.503 回答