2014-11-01 159 views
0

我正在構建一個項目,我們必須像Selenium一樣運行端到端測試:運行集中式集成或端到端測試(如硒)。有必要在外部登臺服務器(例如Heroku)上運行它。要運行集成測試,應用程序需要連接到外部系統,例如數據庫。即使Selenium測試失敗,構建也不會失敗

這很可能有事情做與我們.travis.yml文件,它看起來像現在這樣(儘管我們已經走了很後面的往復與文件):

... 
script: 
- ./gradlew check 
deploy: 
provider: heroku 
api_key: 
secure: ***** 
app: ***** 
after_deploy: 
- ./gradlew seleniumXvfb 

基本上,我們想要做的是首先運行./gradlew檢查哪個運行單元測試,然後將應用程序部署到heroku,最後在臨時服務器(heroku)上運行Selenium測試(端到端測試)。

但是,會發生什麼事情是,特拉維斯似乎並不在意硒測試失敗時失敗。特拉維斯顯示了整個構建的綠色複選標記,就像一切都好。

當這一切都結束後,我們想要部署到生產服務器。

謝謝。

+0

聽起來像'after_deploy'是錯誤的鉤子。 – 2014-11-02 09:14:57

回答

2

after_deploy目前不會在Travis CI中構建失敗。

如果你想測試你對在Heroku上運行的分期系統的應用,那麼我建議你爲before_script步驟的一部分手動部署此,然後在script部分運行./gradlew seleniumXvfb命令。

通過這種方式,您可以根據您的臨時系統的測試成功進行正確的生產部署。