2010-05-07 6 views
15

Ich habe eine Reihe von Tests in der folgenden JUnit Task fehlgeschlagen.Junit Ant Task, Ausgangsstack Trace

<target name="test-main" depends="build.modules" description="Main Integration/Unit tests"> 
     <junit fork="yes" 
       description="Main Integration/Unit Tests" 
       showoutput="true" 
       printsummary="true" 
       outputtoformatters="true"> 
      <classpath refid="test-main.runtime.classpath"/> 
      <batchtest filtertrace="false" todir="${basedir}"> 
       <fileset dir="${basedir}" includes="**/*Test.class" excludes="**/*MapSimulationTest.class"/> 
      </batchtest> 
     </junit> 
    </target> 

Wie kann ich feststellen Junit die Fehler für jeden Test ouput so, dass ich auf dem Stack-Trace und debuggen die Probleme suchen.

Antwort

8

Die Antwort war, das Tag innerhalb des Tags hinzuzufügen.

<target name="test-main" depends="build.modules" description="Main Integration/Unit tests"> 
     <junit fork="yes" 
       description="Main Integration/Unit Tests" 
       showoutput="true" 
       printsummary="true" 
       outputtoformatters="true"> 
      <classpath refid="test-main.runtime.classpath"/> 
      <batchtest filtertrace="false"> 
       <fileset dir="${basedir}/out/test/common" includes="**/*Test.class" excludes="**/*MapSimulationTest.class"/> 
       <fileset dir="${basedir}/out/test/test-simulation" includes="**/*Test.class" excludes="**/*MapSimulationTest.class"/> 
      </batchtest> 
      <formatter type="brief" usefile="false"/> 
     </junit> 
    </target> 
17

Sie müssen die Formatierungs Aufgabe als Kind der batchtest Aufgabe hinzuzufügen (nicht als unmittelbares Kind der junit Aufgabe)

Die Syntax des Formatierer ist:

<formatter type="plain" usefile="false"/> 

type kann einer von plain, brief, xml oder failure sein.

usefile="false" fragt Ant, um die Ausgabe an die Konsole zu senden.

Scrollen Sie nach unten zum h4 auf "Formatierer" unter http://ant.apache.org/manual/Tasks/junit.html für weitere Details.

+1

Zumindest mit ant 1.9.0 können Sie den Formatierer auch als Kind der Junit-Aufgabe hinzufügen. Das wäre hilfreich, wenn Sie mehrere Batch-Aufgaben haben. –