2011-07-08 8 views
8

Je voudrais utiliser ant (post 1.7) pour exécuter tous les tests dans les classes nommées * Test.class dans un certain pot.ant junit lottest d'un pot

Quelque chose comme ce qui suit (bien qu'il ne fonctionne pas en fait des tests):

<junit fork="yes" printsummary="on" haltonfailure="on"> 
     <formatter type="xml"/> 
     <batchtest fork="yes" todir="${junit.output.dir}"> 
      <resources> 
       <zipentry zipfile="tests-only.jar" name="**/*Test.class"/> 
      </resources> 
     </batchtest>    
     <classpath refid="testsplus.classpath"/> 
    </junit> 

Quelle est la syntaxe correcte pour les ressources/partie ZipEntry?

Les fourmis docs disent:

batchtest recueille les ressources incluses de tout nombre de collections de ressources imbriquées . Il génère ensuite un nom de classe de test pour chaque ressource qui se termine par .java ou .class.

tout type de ressource Collection est pris en charge comme un élément imbriqué, avant Ant 1.7 ne <fileset> a été pris en charge.

Répondre

13

Au lieu de zipentry vous pouvez probablement utiliser le zipfileset type de données:

<zipfileset src="tests-only.jar" includes="**/*Test.class"/> 
+0

merci, je l'ai confirmé cela fonctionne. – JasonPlutext

+0

Fonctionne pour moi aussi! – Saurabh

+0

Je suis face ClassNotFoundException quand j'ai essayé d'exécuter le junit dans un fichier jar. Pouvez-vous trouver une solution à ce problème? – Jugi