0

私は一連の RMI インターフェイス/実装に対して単体テストを作成しようとしていますが、これらのテストを容易にするために Ant + Junit に依存しています。主な問題はrmiregistry、Junit タスクの開始時に起動し、失敗、エラー、または成功のいずれであっても、実行の最後に終了する必要があることです。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>
4

1 に答える 1

1

基本的には、junit タスクに "haltonerror="false"と" を設定するだけです。 この方法でテストが失敗することはありません。起動と停止はexec タスクを介して行われます。ここでは、rmiregistry.exe を強制終了するために taskkill を使用しました。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"/>

もう 1 つのオプションは、 ant-contrib の try/catchを使用することですが、ここでは必要ないと思います。

于 2012-07-11T19:47:07.503 に答える