位置:首頁 > Java技術 > TestNG教學 > TestNG Junit報告

TestNG Junit報告

JUnit是單元框架,最初用於許多Java應用軟件作為一個單元測試框架之一。默認情況下,JUnit測試生成一個簡單的XML文件測試執行報告。然後這些XML文件可以被用來生成任何自定義報表按測試要求。我們也可以使用XML文件生成HTML報告。Ant的有這樣一個實用的任務,需要這些JUnit的XML文件作為輸入,並生成一個HTML報告。

TestNG默認情況下,生成JUnit的XML執行任何測試報告(測試輸出文件夾中)。我們可以使用這些XML格式的報告文件作為一個JUnit HTML報告生成的輸入。讓我們看看下麵的例子:

創建測試用例類

創建一個java類名為 SampleTest.java 在 C: > TestNG_WORKSPACE

import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {
    @Test
    public void testMethodOne(){
        Assert.assertTrue(true);
    }
	  
    @Test
    public void testMethodTwo(){
	Assert.assertTrue(false);
    }
	  
    @Test(dependsOnMethods={"testMethodTwo"})
        public void testMethodThree(){
        Assert.assertTrue(true);
    }
}

上述測試類的包含三個測試方法,其中將通過在執行testMethodOne和testMethodThree,其中作為testMethodTwo失敗通過一個false的布爾值到Assert.assertTrue方法,它是用於在測試中的真值條件。

創建 testng.xml

創建一個文件 testng.xml 在 C: > TestNG_WORKSPACE 來執行測試用例

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Simple Suite">
  
  <test name="Simple test">
    <classes>
      <class name="SampleTest" />
    </classes>
  </test>
</suite>

編譯使用javac SampleTest類。

C:TestNG_WORKSPACE>javac SampleTest.java

現在,運行testng.xml。

C:TestNG_WORKSPACE>java -cp "C:TestNG_WORKSPACE" org.testng.TestNG testng.xml

驗證輸出。

===============================================
Simple Suite
Total tests run: 3, Failures: 1, Skips: 1
===============================================

現在,我們已經可以從上麵執行JUnit的XML報告,讓我們創建一個簡單的Ant構建配置XML文件來生成一個HTML報告測試執行。

創建一個新的文件名為 build.xml 在目錄 C: > TestNG_WORKSPACE 中

<project name="TestNG_WORKSPACE" default="junit-report" basedir=".">
  <!-- Sets the property variables to point to respective directories -->
  <property name="junit-xml-dir" value="${basedir}/test-output/junitreports"/>
  <property name="report-dir" value="${basedir}/html-report" />
  
  <!-- Ant target to generate html report -->
  <target name="junit-report">
    <!-- Delete and recreate the html report directories -->
    <delete dir="${report-dir}" failonerror="false"/>
    <mkdir dir="${report-dir}" />
    <mkdir dir="${report-dir}/Junit" />
    <!-- Ant task to generate the html report.
    todir - Directory to generate the output reports

    fileset - Directory to look for the junit xml reports.

    report - defines the type of format to be generated.
      Here we are using "noframes" which generates a single html report.
     -->
    <junitreport todir="${report-dir}/Junit">
      <fileset dir="${junit-xml-dir}">
        <include name="**/*.xml" />
      </fileset>
      <report format="noframes" todir="${report-dir}/Junit" />
    </junitreport>
  </target>
</project>

前麵的XML定義了一個簡單的Ant build.xml文件,具有特定的Ant目標名為JUnit的報告,執行時產生一個JUnit報告。目標看起來JUnit報告XML文件目錄下test-output/junitreports。 Ant配置文件的默認目標執行配置JUnit的報告。

打開命令提示符窗口,然後轉到 C: > TestNG_WORKSPACE 目錄在命令提示符下運行以下命令:

C:TestNG_WORKSPACE> ant

一旦執行,一個JUnit HTML報告,將產生配置目錄/html-report/Junit。打開文件名為

junit-noframes.html

默認Web瀏覽器上。你會看到下麵的HTML報告:

 

JUnit Report

在這裡,我們看到了如何使用JUnit XML報告由TestNG產生和使用Ant生成HTML報告。有兩種類型的報告,可以使用這種方法產生的:幀和無幀。如果報表生成幀配置,為每個類和主報告生成多個文件,將他們連接到通過鏈接。一個無幀報告由一個單一的文件執行測試的所有結果。這可以通過提供相應的值在Ant報告任務的format屬性配置。