2011-01-21 18 views
5

私のプロジェクトにはJUnitテストの束が入ったディレクトリがあります。これまでのところ、私は単体テストごとに別々のターゲットを使用しました。例:Antビルダーですべての単体テストを実行する

<target name="MyTest"> 
     <mkdir dir="${junit.output.dir}"/> 
     <junit fork="yes" printsummary="withOutAndErr"> 
      <formatter type="xml"/> 
      <test name="tests.MyTest" todir="${junit.output.dir}"/> 
      <classpath refid="MyProject.classpath"/> 
     </junit> 
    </target> 

この方法では、ユニットテストを追加するたびにビルドファイルを変更する必要があります。
私は、単一のAntビルダーターゲットでプロジェクト内のすべての単体テストを実行できるようにしたいと考えています。
できますか?

答えて

9

それはうん、あなたは例えば、ファイルセットのタグを見てする必要があります:

<junit printsummary="yes" haltonfailure="yes"> 
    <classpath> 
    <pathelement location="${build.tests}"/> 
    <pathelement path="${MyProject.classpath}"/> 
    </classpath> 

    <formatter type="xml"/> 

    <batchtest fork="yes" todir="${reports.tests}"> 
    <fileset dir="${src.tests}"> 
     <include name="**/*Test*.java"/> 
     <exclude name="**/AllTests.java"/> 
    </fileset> 
    </batchtest> 
</junit> 

重要な部分は、テストの名前と一致するファイルセットとグロブ/ワイルドカードパターンを使用することです。ここでの例でのJUnitタスクの完全なドキュメント:

http://ant.apache.org/manual/Tasks/junit.html

3

うん!これはantコマンドバッチテストを使用して行います。次のようになります。

 <batchtest todir="${junit.report.dir}"> 
      <fileset dir="${basedir}\test\unit"> 
       <include name="**/*Test.java" /> 
      </fileset> 
     </batchtest> 

Googleのそれ、それは

あなたを整理する必要があります
関連する問題