2012-06-08 276 views
5

Junit的報告,如果有斷言錯誤 類進行測試不會生成報告Junit的報告不會生成報告

public class Math { 

    static public int add(int a, int b) { 

     return a + b; 
    } 

    static public int multiply (int a, int b) { 
     if(a==0&&b==0) 
      return 0;; 
     return a * b; 
    } 
} 

JUnit測試類

import junit.framework.*; 

public class TestMath extends TestCase { 

    protected void setUp() { 

    // put common setup code in here 
    } 

    protected void tearDown() { 

    // put common cleanup code in here 
    } 

    public void testAdd() { 
    int num1 = 3; 
    int num2 = 2; 
    int total = 5; 
    int sum = 0; 
    sum = Math.add(num1, num2); 
    assertEquals(sum, total); 
    } 

    public void testMulitply() { 

    int num1 = 3; 
    int num2 = 7; 
    int total = 21; 
    int sum = 0; 
    sum = Math.multiply(num1, num2); 
    assertEquals("Problem with multiply", sum, total); 


    num1 = 5; 
    num2 = 4; 
    total = 20; 
    sum = Math.multiply(num1, num2); 
    assertEquals("Problem with multiply", sum, total); 

    } 
    public void testv(){ 
    Assert.assertEquals(1, Math.multiply(0, 0)); 
    } 

} 

我使用junit報告生成報告

問題是,如果斷言失敗報告不生成,Ant構建失敗。我的假設是,如果一個斷言失敗了,它應該列在失敗中,而不是構建結果中的錯誤。

螞蟻XML

<project name="SampleJUnitTests" default="dist" basedir="."> 
    <description> 
     Sample JUnit Tests 
    </description> 
    <!-- set global properties for this build --> 

    <property name="project_name" value="junitSamples"/> 
    <property name="src" location="src"/> 
    <property name="build" location="bin"/> 
    <property name="dist" location="dist"/> 
    <property name="lib" location="lib"/> 
    <property name="res" location="res"/> 
    <property name="reports" location="reports"/> 

    <!-- the names of various distributable files --> 
    <property name="jar_name" value="${project_name}.jar"/> 
    <property name="war_name" value="${project_name}.war"/> 

    <!-- top level targets --> 

    <target name="compile" depends="init" description="compile the source code " > 
     <javac srcdir="${src}" destdir="${build}"> 
      <classpath> 
       <fileset dir="lib"> 
        <include name="**/*.jar"/> 
       </fileset> 
      </classpath> 
     </javac> 

    </target> 

    <target name="dist" depends="compile" description="generate the distributable files " > 

    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file --> 
    <jar jarfile="${dist}/${jar_name}" basedir="${build}"/> 

    </target> 

    <target name="clean" 
     description="clean up" > 
    <!-- Delete the ${build} and ${dist} directory trees --> 
    <delete dir="${build}"/> 
    <delete dir="${dist}"/> 
    <delete dir="${reports}"/> 
    </target> 

    <target name="run-tests" depends="compile" description="run your test suite" > 
     <junit printsummary="yes" haltonfailure="yes" showoutput="yes" > 
      <classpath> 
       <pathelement path="${build}"/> 
       <fileset dir="lib"> 
        <include name="**/*.jar"/> 
       </fileset> 
      </classpath>    

      <batchtest fork="yes" todir="${reports}/raw/"> 
      <formatter type="xml"/> 
      <fileset dir="${src}"> 
       <include name="**/*Test*.java"/> 
      </fileset> 
      </batchtest> 
     </junit>  
    </target> 

    <target name ="test" depends="run-tests"> 
     <junitreport todir="${reports}"> 
      <fileset dir="${reports}/raw/"> 
      <include name="TEST-*.xml"/> 
      </fileset> 
      <report format="frames" todir="${reports}/html/"/> 
     </junitreport> 
    </target> 

    <target name ="run" depends="" description="if this project can be run, run it" > 

    </target> 

    <!-- supporting targets --> 

    <target name="init" description="initialize the build environment" > 
    <!-- Create the time stamp --> 
    <tstamp/> 
    <!-- Create directory structures --> 
    <mkdir dir="${build}"/> 
    <mkdir dir="${lib}"/> 
    <mkdir dir="${dist}/lib"/> 
    <mkdir dir="${reports}"/> 
    <mkdir dir="${reports}/raw/"/> 
    <mkdir dir="${reports}/html/"/> 
    </target> 

    <target name="all" depends="clean, test"> 

    </target> 

</project> 

我的要求是,如果斷言失敗,它應該在失敗說明了什麼?我需要做什麼 ?

+0

這是一個日食或螞蟻問題?請相應標記。 – oers

+1

您是否在使用[Ant JUnit任務?](http://ant.apache.org/manual/Tasks/junit.html)如果是這樣,請在您的問題中添加一個部分,以顯示您正在使用的確切XML。 –

+0

@ChadNouis我已經添加了Ant構建XML。謝謝你的迴應。 –

回答

2

這個問題已經在評論中已經回答了Tharani ...回答它從沒有答案使其...

變化haltonfailure的價值=「無​​」,將工作作爲expedted ...