2013-07-31 58 views
0

對於一個小型開發團隊(6名開發人員),我設置了Gerrit和Jenkins以允許進行代碼審查和CI。兩者之間的整合工作正常,Jenkins編譯和測試代碼。Gerrit/Jenkins處理測試失敗

但是,我無法決定如何處理失敗的失敗測試。目前,如果測試失敗,那麼構建也被視爲失敗。如果更改的功能導致測試失敗,那麼如何處理?或者當測試得到改進並發現破碎的代碼?人們總是會修復破碎的代碼,並將測試變更並修復爲單個提交?

回答

1

http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-labels.html

您可以添加額外的話題進行測試,因此,建立驗證測試+1 -1,所以將它分類,這需要詹金斯作業的一些配置爲testjobs有報到與構建驗證工作不同的方式。

但無論如何它爲我做。

+0

您是否使用單獨的作業進行測試?很好的答案! – mycroes

+0

是的,我們有單獨的工作來進行測試和構建:) –

+0

我在嘗試多種工作方式,但是你用什麼作爲觸發器?您是否使用上游構建項目和下游測試項目?你有沒有在網上的細節?我很難很好地解決問題,或者找到有關正確解決方案的文檔。 – mycroes

0

這是一個很好的問題,它歸結於您的開發方法。我寧願保持提交儘可能小和緊湊,所以我想分開測試更改和代碼修復。

您可以先上傳代碼修正,並且不會上傳您的測試更改,直到代碼修復被合併。但是,如果測試更改可用,則有助於評審人員理解代碼修復的必要性。

如果您的測試框架支持它,我會首先進行測試更改,但會將測試標記爲預期失敗。然後上傳代碼修復程序並刪除該測試中的標誌。

希望別人會用不同的方法解決這種情況!

+0

這難道不是那麼容易出錯嗎?如果修復不正確,並且您忘記刪除預期失敗,代碼仍然會被破壞。我也想保持提交小,我們儘可能堅持gitflow。另外,在測試驅動的開發中,遇到失敗的測試並不罕見,但是我目前的設置不允許這樣做...... – mycroes