2012-07-26 17 views
5

Bu oldukça basit bir soru. Bunu gönderiyorum çünkü tatmin edici bir cevap alamadım. İlk olarak arka plan: Bir web uygulamasının bir sunucuya yüklendiği ve dağıtıldığı Jenkins işim var. Sunucu biraz zaman alır (5 ila 10 dakika arasında). Uygulamayı test edecek olan birim test vakası yürütme işlemini kurmak için bir iş kurmak (veya gerektiği şekilde değiştirmek) istiyorum. Aşağıdaki yaklaşımları düşünüyorum. Ben herhangi alternatifler doğrulamak veya önermek istiyorum:Sunucunun gelmesi ve birim testi çalıştırması nasıl beklenir Jenkins/Hudson

  • uygulama kullanılabilirliği için URL ve kontroller pingleyen özel bir Ant hedef var sabit bir süre bekler bir Ant hedef var

Yardımlarınız için şimdiden teşekkür ederiz. -Vadiraj.

cevap

6

Sabit bir süre beklemek, seçtiğiniz sürenin kısa (inşa başarısız) veya uzun (oluşturma süresi kaybı) süresine sahip olması sorununa neden olur. Bu yüzden uygulamanın uygun olup olmadığını kontrol etmenin daha iyi olacağını düşünüyorum.

Selenium testlerim için benzer bir şey yaptım. Selenium Remote Server başlatana kadar beklemek zorunda kaldı. waitfor öğesini kullandım. Detaylı bir döküman için bkz. here. İşte

benim karınca Hedef tam olmayan bir versiyonudur:
<parallel> 
    <sequential> 
    ... Start web application server ... 
    </sequential> 
    <sequential> 
    <waitfor maxwait="10" maxwaitunit="minute"> 
     <socket server="localhost" port="8080" /> 
    </waitfor> 
    <junit> 
    ... 
    </junit> 
    </sequential> 
</parallel> 

sunucu web uygulaması dağıtıldığı önce bir HTTP için kontrol etmek yerine socket arasında http durumunu kullanmayı deneyebilirsiniz varsa

hata kodu. Koşullar here belgelenmiştir.

+0

Teşekkürler, Bu gerçekten yardımcı oldu! – Vadiraj