2012-06-08 13 views
5
raport

Junit nie generuje raport, jeśli jest błąd twierdzenie Klasa być badaneJunit nie generuje raport, jeśli jest błąd twierdzenie

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; 
    } 
} 

klasy Junit test

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)); 
    } 

} 

używam junit raportowanie do generowania raportów

Problem polega na tym, że jeśli asercja nie powiedzie się, raporty nie zostaną wygenerowane, kompilacja Anta nie powiedzie się. MOIM założeniem jest to, że jeśli asercja się nie powiedzie, powinna być wymieniona w awariach, a nie w błędzie w wyniku kompilacji.

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> 

MY wymogiem jest, jeśli twierdzenie nie powinno pokazać się niepowodzeniem? Co muszę zrobić ?

+0

Czy to jest problem z zaćmieniem lub mrówką? Proszę odpowiednio oznaczyć. – oers

+1

Czy używasz zadania [Ant JUnit?] (Http://ant.apache.org/manual/Tasks/junit.html) Jeśli tak, dodaj sekcję do swojego pytania, pokazującą dokładny kod XML, którego używasz. –

+0

@ChadNouis Mam dodać plik XML budowy Ant. Dzięki za odpowiedź. –

Odpowiedz

2

To pytanie zostało odebrane przez Tharani w komentarzach ... Odpowiadając na to, aby go od bez odpowiedzi ...

Zmień wartość haltonfailure = „no” to będzie działać jako expedted ...

Powiązane problemy