2012-06-08 76 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 ...