2012-07-25 53 views
2

我在jenkins中使用鼻子來測試項目。如果測試失敗,我會得到輸出到控制檯的簡短報告。無論測試結果如何,我都希望得到這個輸出。所以,即使測試通過,我希望能夠看到測試輸出到stderr/stdout。將日誌記錄添加到jenkins的測試結果中

此刻我可以通過調用鼻子--nocapture來關閉日誌記錄。然而這會導致jenkins在默認情況下創建的項目控制檯日誌下的所有輸出結果。我如何告訴鼻子/捕獲以將捕獲的輸出附加到Jenkins中顯示的每個測試結果? 我使用xunit來生成junit兼容xml文件,Jenkins將其用於生成其報告。

編輯:其他相關信息,如詹金斯要求

地址(後buildnumber部分):

/testReport/testDesignParser.testDesignCsvParser.testDesignCsvParser/testDesignCsvParser/test/?

我知道,這樣的設計是不漂亮,但多數民衆贊成它的現在。如果很重要:

 
`testDesignParser.testDesignCsvParser.testDesignCsvParser` module 
`testDesignCsvParser`          class 
`test`              (member)testfunction
+0

這沒有任何意義。如何將輸出添加到測試用例中?測試用例是Python代碼,並且說「向Python代碼添加捕獲的輸出」沒有意義。 – 2012-07-25 09:57:39

+0

Jenkins向您顯示結果的簡短報告,如果控制檯輸出在此報告中失敗,我希望此輸出也包含在測試成功的情況下。爲了在Jenkins和鼻子之間架起橋樑,我使用'xunit'來生成一個junit,如testfile – ted 2012-07-25 10:29:55

+0

您引用了哪個Jenkins報告?請告訴我們項目名稱後面的URL(例如'/ lastBuild/testReport /') – 2012-07-25 11:59:31

回答

2

使用最新的Jenkins,可以在屬於JUnit的後構建步驟下正確保存輸出(保留長標準輸出/錯誤)。另外我跑--nocapture鼻子。這給我一個每個測試的控制檯輸出視圖(當我打開一個測試時,在左側菜單上有一個選項)

1

從測試中無法實現此目的。報告生成器不會顯示輸出,除非有錯誤。

您將必須獲取Jenkins本身的源代碼(JUnit runner內置於其中)並修補記者或編寫自己的插件。

+0

這是令人失望的......我認爲鼻子捕獲吃掉了所有東西,而不是吃詹金斯。在我將其標記爲已接受之前,我必須先讓它靜置一秒鐘,現在+1。 – ted 2012-07-25 14:00:48

+1

我在Java中看不到成功的JUnit測試的輸出。所以你需要補丁(鼻子和詹金斯)。或提交功能請求;能夠看到成功測試的輸出不應該很難實現,並且可能非常方便。 – 2012-07-26 09:13:53

相關問題