这是一个非常简单的问题。我发布此消息是因为无法获得令人满意的答案。首先是背景知识:我有Jenkins的工作,该工作将Web应用程序构建并部署到服务器上。服务器需要一些时间(大约5到10分钟)。我想设置一个作业(或根据需要修改现有的作业)来组装将测试应用程序的单元测试用例执行。我正在考虑以下方法。我希望您验证或提出其他选择:
在此先感谢您的帮助。
-Vadiraj。
最佳答案
等待固定时间会产生一个问题,即您选择的时间是缩短(构建失败)还是延长(浪费构建时间)。因此,我认为最好检查该应用程序是否可用。
我在 Selenium 测试中做了类似的事情。我不得不等到Selenium远程服务器启动。我使用了waitfor
元素。有关详细的文档,请参见here。
这是我的ant-Target的简化版本:
<parallel>
<sequential>
... Start web application server ...
</sequential>
<sequential>
<waitfor maxwait="10" maxwaitunit="minute">
<socket server="localhost" port="8080" />
</waitfor>
<junit>
...
</junit>
</sequential>
</parallel>
如果在部署Web应用程序之前服务器可用,则可以尝试使用
http
条件而不是socket
来检查HTTP错误代码。条件记录在here中。关于unit-testing - 如何等待服务器启动并运行来自Jenkins/Hudson的单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11663981/