我也問過這個,但是對答案並不滿意。代碼推送給Jenkins時的隨機測試失敗
我用什麼:
- 工作的Django/Python的網站。
- 開發在本地執行python虛擬環境。
- 使用Git爲我的SCM
- 部署了針對GIT
- 開發與生產分公司使用詹金斯CI持續集成獨立的虛擬服務器。單獨的虛擬服務器部署詹金斯
工作:
- 我有單元測試,冒煙測試和集成測試的網站。 Jenkins已經設置好了,只要代碼從我的本地git分支被推到git倉庫的Developer和Production分支上,Jenkins就會觸發構建。
問題:
- 我的測試是在本地傳遞時,我做了「蟒蛇manage.py測試」
- 隨機試驗(主要是單元測試)無法在詹金斯時碼推到其他分(開發和生產)。
- 在測試失敗後,如果通過在Jenkins中按下「立即生成」按鈕來手動執行構建,測試通常會通過並且構建成功。
- 有時候,當代碼沒有改變,代碼仍然被推送到這些分支時,測試在Jenkins中隨機失敗。
一些常見錯誤:
- 的AssertionError:302 = 200
- 類型錯誤:!NoneType'對象未標化的
- IndexError:列表索引超出範圍
- 的AssertionError:日期時間.datetime(2012,12,5,0,0,27,218397)!= datetime.datetime(2012,12,5,0,27,239884)
- AssertionError:響應重定向到'x'期望的' Y」
故障排除,直到日期:
- 然本地所有的測試我的機器上,並在虛擬服務器上。他們運行良好。
- 在本地和在虛擬服務器上運行單個失敗測試。他們運行良好。
- 試圖重新創建失敗的條件,但截至目前,測試正在通過。
我看到的唯一問題是,無論何時將代碼推送給開發人員和生產brnaches,隨機測試失敗都會啓動。某些測試重複失敗。
任何人都可以告訴我,我可以做些什麼來解決這個問題。我試圖用Google搜索這個問題,但徒勞無功。我知道xunitpatterns網站對不穩定的測試行爲有一些很好的見解,但它並沒有幫助,因爲我嘗試了大部分的東西。
連結您的其他問題,你已經張貼? –
[上一個問題](http://stackoverflow.com/questions/14105745/random-test-failures-in-jenkins/14105839#comment19518597_14105839) – SaurabhM
詹金斯可能會改變你的測試運行的順序。如果你的測試不是'不是真正的單位測試,而是可能在導致這些問題的測試之間持續存在的東西。 –