2010-03-19 13 views
0

Nous exécutons le test JUnit à partir du script Ant, comme suit. Lorsque le test a échoué, je m'attends à ce qu'il renvoie la pile de l'exception qui casse l'échec, mais ce n'est pas le cas. Y a-t-il un truc pour le faire larguer?Comment puis-je obtenir JUnit test (piloté par le script Ant) pour vider la pile d'exception qui provoque l'échec?

<target description="Run JUnit tests" name="run-junit" depends="build-junit"> 
    <copy file="./AegisLicense.txt" tofile="test/junit/classes/AegisLicense.txt" overwrite="true"/> 
    <junit printsummary="yes" haltonfailure="no" fork="yes" forkmode="once" failureproperty="run-aegis-junit-failed" showoutput="yes" filtertrace="off"> 
     <classpath refid="Aegisoft.testsupport.classpath"/> 
     <classpath> 
      <pathelement location="test/junit/classes"/> 
     </classpath> 
     <batchtest> 
      <fileset dir="test/junit/src"> 
       <include name="**"/> 
      </fileset> 
     </batchtest> 
    </junit> 
<fail 
+0

en double? http://stackoverflow.com/questions/2479877/how-to-get-full-stack-traces-logged-when-a-junit-test-running-in-ant-fails –

Répondre

1

J'ai posté ici avant d'avoir vu this question. Je pense que cette question est un doublon.

Voici mon tag JUnit qui fait produire l'exception trace

<!-- #Formatters for capture and display --> 
    <formatter 
    type="brief" 
    usefile="false" 
    /> 
    <formatter type="brief" /> 
    <formatter 
    type="xml" 
    if="test.generate.xml.output" 
    /> 

    <!-- #Test case isolation technique --> 
    <test 
    name="${testcase}" 
    if="testcase" 
    /> 

    <batchtest 
    todir="${test.data.dir}" 
    unless="testcase" 
    > 
    <fileset dir="${classes.dir}"> 
     <include name="**/Test*.class" /> 
     <exclude name="**/Test*$*.class" /> 
    </fileset> 
    </batchtest> 

</junit> 

Je pense que l'un des éléments imbriqués qui le fera pour vous est

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