2011-01-21 18 views
5

Projemde bir grup JUnit testine sahip bir dizinim var. Şimdiye kadar her birim testi için ayrı bir hedef kullandım. Örneğin,Tüm cihaz testlerini Ant builder ile çalıştır

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

Bu yöntem, bir Birim sınaması eklediğimde her zaman derleme dosyasını değiştirmemi gerektirir.
Projedeki tüm birim testlerini tek bir Ant oluşturucu hedefi ile çalıştırabilmek istiyorum.
Mümkün mü? öyle Yep

cevap

9

, sen ör fileset etiketi bakmak gerekir:

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

önemli bir parçası testlerin isimlerini maç için dosya seti ve bir topak/joker desen kullanılmasıdır. Burada örneklerle junit görev Tam docs:

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

3

Yep! Bunu bir karınca komutunu kullanarak yapıyoruz. Bu gibi görünüyor:

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

Google, bu

dışarı sıralamak gerekir