- TestNG 教程
- TestNG - 首頁
- TestNG - 概述
- TestNG - 環境配置
- TestNG -編寫測試用例
- TestNG - 基本註解
- TestNG - 執行流程
- TestNG - 執行測試
- TestNG - 套件測試
- TestNG - 忽略測試
- TestNG - 組測試
- TestNG - 異常測試
- TestNG - 依賴測試
- TestNG - 引數化測試
- TestNG - 執行JUnit測試
- TestNG - 測試結果
- TestNG - 註解轉換器
- TestNG - 斷言
- TestNG - 並行執行
- TestNG - 與Ant整合
- TestNG - 與Eclipse整合
- TestNG - TestNG vs JUnit
- TestNG 有用資源
- TestNG - 快速指南
- TestNG - 有用資源
- TestNG - 討論
TestNG - JUnit 報告
JUnit是最早被許多Java應用程式用作單元測試框架的單元測試框架之一。預設情況下,JUnit測試會為其測試執行生成簡單的報告XML檔案。然後,可以根據測試需求使用這些XML檔案生成任何自定義報告。我們也可以使用XML檔案生成HTML報告。Ant具有這樣的實用程式任務,它將這些JUnit XML檔案作為輸入並生成HTML報告。
TestNG預設情況下會為任何測試執行生成JUnit XML報告(在test-output資料夾中)。我們可以使用這些XML報告檔案作為輸入來生成JUnit HTML報告。讓我們來看一個例子。
建立測試用例類
建立一個Java類,例如,在/work/testng/src中建立一個名為SampleTest.java的類。
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透過向Assert.assertTrue方法(用於測試中的真值條件)傳遞一個false布林值使其失敗。
建立testng.xml
在/work/testng/src中建立testng.xml來執行測試用例。
<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Simple Suite">
<test name = "Simple test">
<classes>
<class name = "SampleTest" />
</classes>
</test>
</suite>
使用javac編譯SampleTest類。
/work/testng/src$ javac SampleTest.java
現在,執行testng.xml。
/work/testng/src$ java org.testng.TestNG testng.xml
驗證輸出。
=============================================== Simple Suite Total tests run: 3, Failures: 1, Skips: 1 ===============================================
現在我們已經從上述執行中獲得了JUnit XML報告,讓我們建立一個簡單的Ant構建配置XML檔案來為測試執行生成HTML報告。
在/work/testng/src資料夾下建立一個名為build.xml的新檔案。
<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檔案,它有一個名為junit-report的特定Ant目標,在執行時會生成JUnit報告。該目標在test-output/junitreports目錄下查詢JUnit報告XML檔案。對於Ant配置檔案,配置的預設執行目標是junit-report。
開啟命令提示符視窗,在命令提示符中轉到/work/testng/src目錄,然後執行命令:
/work/testng/src$ ant
執行後,將在配置的目錄/html-report/Junit中生成JUnit HTML報告。在預設的Web瀏覽器中開啟名為junit-noframes.html的檔案。您將看到以下HTML報告:
在這裡,我們看到了如何使用TestNG生成的JUnit XML報告,並使用Ant生成HTML報告。使用此方法可以生成兩種報告:帶框架和無框架。
如果報告生成配置了框架,則將為每個類生成多個檔案,並且主報告將透過連結連線到它們。無框架報告包含單個檔案,其中包含測試執行的所有結果。這可以透過為Ant中report任務的format屬性提供相應的值來配置。