2014-06-21 38 views
0

JUnit的官方文件中指出:junitreport ant任務生成的報告的源數據是什麼?

junitreport收集使用嵌套元素JUnit的任務生成單獨的XML文件。

同一頁面狀態的其他部分:

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

會產生在目錄中的測試 - TestSuites.xml文件報告 並生成默認的框架報告目錄報告/ HTML。

比方說,我有文件TEST-all.xml由junit任務生成在「reports」目錄中。我想使用它作爲junitreport任務的數據源:

<fileset dir="./reports"> 
    <include name="TEST-all*.xml"/> 
</fileset> 

我希望根據我的數據生成html報告。

我試着去做。生成空的TESTS-TestSuites.xml文件,並生成空的html文件。

上面引用的兩個文檔語句在某種程度上相互矛盾:第一個說它將使用已生成的文件來創建報告,第二個說明它將生成新文件。有人可以解釋它是如何工作的嗎?我如何控制將使用什麼數據源生成html報告?

謝謝。

回答

0

嘗試使用-debug運行ant。我懷疑

<include name="TEST-all*.xml"/> 

不符合任何文件。請嘗試與

<fileset dir="./reports"> 
    <include name="TEST-*.xml"/> 
</fileset> 
0

嗯,我想出了什麼問題:文件TEST-all.xml生成格式錯誤。看來正確的格式是:

<testsuite> 
     <testcase classname="..." name="..." ...> 
     <properties> 
      <property name="..."/> 
     </properties> 
     </testcase> 
    </testsuite> 

雖然它並沒有完全解決問題。仍不能正常生成的HTML報告:

  1. 儘管事實的文件測試,TestSuits.xml現在不是空的,包含了所有必要的測試的信息,HTML報告(的index.html)的主頁仍在顯示0個測試。

  2. 如果我單擊測試列中的鏈接(在本例中爲0),它會打開測試列表,但如果我嘗試在此頁面中打開單個測試,則會出現「文件未找到」錯誤。

我懷疑問題仍然是TEST-all.xml的格式。我正在尋找格式的描述,但在這裏和那裏只找到了一些信息。有任何想法嗎?