JUnitReport

說明

合併由 JUnit 任務產生的個別 XML 檔案,並最終將樣式表套用於合併後的結果文件,以提供測試案例結果的可瀏覽報告。

注意:此任務仰賴 Apache Ant 發行版中未包含的外部程式庫。有關更多資訊,請參閱 程式庫相依性

參數

屬性 說明 必要
tofile 將匯總先前由 JUnit 任務產生的所有個別 XML 測試套件的 XML 檔案名稱。 否;預設為 TESTS-TestSuites.xml
todir 應將匯總個別 XML 測試套件所產生的檔案寫入的目錄。 否;預設為目前目錄

指定為巢狀元素的參數

fileset

junitreport 使用巢狀 <FileSet> 元素收集由 JUnit 任務產生的個別 XML 檔案。

report

根據合併所建立的文件產生可瀏覽的報告。

參數

屬性 說明 必要
format 產生報告的格式。必須為 noframesframes 否;預設為 frames
styledir 定義樣式表的目錄。它們必須符合下列慣例
  • frames 格式:樣式表必須命名為 junit-frames.xsl,如果您使用 Saxon 9+,則命名為 junit-frames-saxon.xsl
  • noframes 格式:樣式表必須命名為 junit-noframes.xsl,如果您使用 Saxon 9+,則命名為 junit-noframes-saxon.xsl
否;預設為內嵌樣式表
todir 應將轉換結果檔案寫入的目錄。 否;預設為目前目錄

Ant 對 framesnoframes 格式假設如下

junit-frames.xsljunit-noframes.xsl 的自訂版本必須遵守上述慣例。

report 標籤的巢狀元素

param

自 Ant 1.7 起report 標籤支援巢狀 param 標籤。這些標籤可以將 XSL 參數傳遞給樣式表。

參數

屬性 說明 必要
名稱 XSL 參數名稱
表達式 要置入 param 中的文字值。
原本打算作為 XSL 表達式。
if 只有在設定此屬性時,才會傳遞 param
unless 只有在設定此屬性時,才會不傳遞 param

內建樣式表支援下列參數

XSL 參數 說明 必要
TITLE 用於 <title><h1> 標籤中的標題 否;預設為 單元測試結果

classpath

自 Ant 1.9.5 起。與XSLT 任務一樣,巢狀 <classpath> 會用於載入處理器。

factory

自 Ant 1.9.5 起。與XSLT 任務一樣,巢狀 <factory> 可用於指定工廠設定。

範例

reports 目錄中產生 TESTS-TestSuites.xml 檔案,並在 report/html 目錄中產生預設的框架報告。

<junitreport todir="./reports">
    <fileset dir="./reports">
        <include name="TEST-*.xml"/>
    </fileset>
    <report format="frames" todir="./report/html"/>
</junitreport>

此範例需要一個名為 junitreport/junit-frames.xsl 的檔案。XSL 參數 key1key2 會傳遞給 XSL 轉換。

<junitreport todir="${outputdir}">
    <fileset dir="${jrdir}">
        <include name="TEST-*.xml"/>
    </fileset>
    <report todir="${outputdir}/html"
            styledir="junitreport"
            format="frames">
        <param name="key1" expression="value1"/>
        <param name="key2" expression="value2"/>
    </report>
</junitreport>