2012-01-02 36 views
5

我自己生成的XML看起來就像JUnit一樣,可以讓Hudson讀取它們。它工作得很好,除了我無法弄清楚Hudson web GUI中的「包」列表是什麼。我如何製作一個將被Hudson解釋爲「包」的XML?hudson中的JUnit XML「包」

<testsuites> 
<testsuite> 

    <testcase classname="class\name\that\is\really\folders" name="test_name.log" time="231"> 
    </testcase> 
</testsuite> 
</testsuites> 

哈德森將列出此爲:

套餐:(根)
類:類\用戶名\是\是\真的\文件夾
測試名稱:test_name.log

回答

1

我認爲Jenkins從testsuite標記中的name屬性獲取包名稱。 你可以嘗試改變你這樣的XML

<testsuites> 
<testsuite name="package.name.of.your.testclass"> 

    <testcase classname="class\name\that\is\really\folders" name="test_name.log" time="231"> 
    </testcase> 
</testsuite> 
</testsuites> 
6

@pushy - 我之前試過了,但是當我試圖證明你錯了,我得到了它這個時候;-)。

<testsuites> 
<testsuite name="package.name.of.your.testclass"> 

    <testcase classname="package.name.of.your.testclass.class\name\that\is\really\folders" name="test_name.log" time="231"> 
    </testcase> 
</testsuite> 
</testsuites> 

必須前綴的每一個測試用例測試套件名字的類名它被接受爲「包」。

2

不需要冗餘!詹金斯很好地推斷包和類名,如果您:

  • 使用name屬性,而不是classname
  • 確保<testsuite>元素的name屬性至少有兩個點分隔的「節」。現在所有封閉的<testcase>元素將獲得一個包和類。最後一部分將是類名。其餘的將是包名。

像這樣:

<testsuites> 
    <testsuite name="packagename.classname"> 
     <testcase name="test_name.log" time="231"></testcase> 
    </testsuite> 
</testsuites> 
+0

這不會讓你組織你的模塊集成到一個層次結構(這是我的實際目標)。 – whitey04 2015-04-01 22:02:14