2012-07-26 41 views
5

這是非常簡單的問題。我張貼這個,因爲我無法得到任何滿意的答案。首先是背景:我有Jenkins的工作,構建並將Web應用程序部署到服務器上。服務器需要一些時間(大約5到10分鐘)。我想設置一個工作(或者根據需要修改現有的工具)來構建將測試應用程序的單元測試用例執行。我正在考慮以下方法。我想請你來驗證或提出任何替代方案:如何等待服務器啓動並運行Jenkins/Hudson的單元測試

  • 有等待一個固定的時間
  • 具有坪的應用程序可用性的URL和檢查自定義Ant目標Ant目標

在此先感謝您的幫助。 -Vadiraj。

回答

6

等待一個固定的時間有一個問題,你選擇的時間要麼是短(構建失敗)要麼是長(浪費構建時間)。所以我認爲最好是檢查應用程序是否可用。

我爲我的Selenium測試做了類似的事情。我必須等到Selenium Remote Server啓動。我使用了waitfor元素。有關詳細的文檔,請參見here

這裏是我的螞蟻目標的一個精簡版:

<parallel> 
    <sequential> 
    ... Start web application server ... 
    </sequential> 
    <sequential> 
    <waitfor maxwait="10" maxwaitunit="minute"> 
     <socket server="localhost" port="8080" /> 
    </waitfor> 
    <junit> 
    ... 
    </junit> 
    </sequential> 
</parallel> 

如果您的服務器可用的Web應用程序部署之前,你可以嘗試使用,而不是sockethttp條件來檢查HTTP錯誤代碼。條件記錄在here

+0

謝謝,這真的有幫助! – Vadiraj 2012-07-26 09:29:05

相關問題