2013-10-17 23 views
0

我在Ant脚本中设置了以下目标来生成测试报告。它的工作非常好,但我观察到的是,如果我有两个测试写入,我会得到单独的XML文件输出以及一个包含嵌套在标记中的相同信息的聚合XML文件。Ant与JUnit提供多个测试报告

谁能告诉我怎样才能避免生成这个文件?

我有关ANT目标和测试如下..

<target name="test" depends="init,compile"> 
       <junit printsummary="yes" haltonfailure="no" showoutput="yes" > 
         <!-- 
           Note the classpath order: instrumented classes are before the 
           original (uninstrumented) classes. This is important. 
         --> 
         <classpath location="${instrumented.dir}" /> 
         <classpath location="${classes.dir}" /> 

         <!-- 
           The instrumented classes reference classes used by the 
           Cobertura runtime, so Cobertura and its dependencies 
           must be on your classpath. 
         --> 
         <classpath refid="cobertura.classpath" /> 


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

       <junitreport todir="${reports.xml.dir}"> 
         <fileset dir="${reports.xml.dir}"> 
           <include name="TEST-*.xml" /> 
         </fileset> 
       </junitreport> 
     </target> 

//TestCalc.java

import junit.framework.*; 

public class TestCalc extends TestCase { 

    protected void setUp() { 

      // put common setup code in here 
    } 

    protected void tearDown() { 

      // put common cleanup code in here 
    } 

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


    public void testMulitplyForTest2() { 

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

    } 

} 

//TestMath.java

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 testsubtract() { 
        int num1 = 5; 
        int num2 = 2; 
        int total = 3; 
        int sum = 0; 
        sum = Math.subtract(num1, num2); 
        assertEquals(sum, total); 
      } 


    public void testMulitply() { 

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

    } 

} 
+0

所以问题是如何避免汇总报告? – devnull

+0

是的,但保存其他输出 – Sharath

回答

0

以下是生产合并报告:

  <junitreport todir="${reports.xml.dir}"> 
        <fileset dir="${reports.xml.dir}"> 
          <include name="TEST-*.xml" /> 
        </fileset> 
      </junitreport> 

JunitReport

合并通过了JUnit任务生成单独的XML文件,并最终 的结果合并文档应用样式表 提供测试用例结果的可浏览的报告。

+0

试过了..但它并没有真正改变任何东西..我仍然得到3个文件.. – Sharath

+0

@Sharath你不想要消除汇总的报告。 – devnull

+0

是的..但我仍然得到汇总报告..即使我删除了打印总结后..我期待2个XML文件,每个测试用例写1 ..但第三个汇总报告仍然存在.. – Sharath

相关问题