我有一台Jenkins服务器(在Windows上),用于测试运行良好的Symfony应用程序。我最近不得不将PHP从5.6降级到5.5,以匹配我们的部署环境(不知道为什么一开始就安装5.6)。
这样做之后,我的PHPUnit测试套件就不再完成了。PHPUnit是通过Phing exec任务运行的。如果我从命令行运行相同的任务,测试套件就会完成。如果我运行phpunit命令(bin/phpunit -c phpunit.xml
),测试套件就完成了。这让我相信问题出在Jenkins身上,在PHP降级之前,它一直运行良好。
所有其他任务运行良好(phpcs
、phpcpd
等)。它的只是PHPUnit,并且仅在Jekins构建期间。套件只是停止执行(我无法显示任何错误),Phing调用下一个任务。构建甚至没有被标记为失败,因为PHPUnit没有响应——它失败是因为当Jenkins试图处理PHPUnit测试结果时,没有响应。
关于我可能缺少什么或如何显示错误,有什么建议吗?
我不确定phpunit中内置的任务,但如果您使用exec任务,您可以捕获(稍后回显)命令的输出,并且在失败时退出构建:
<exec
command="/usr/local/php56/bin/php vendor/phpunit/phpunit/phpunit"
checkreturn="true"
outputProperty="phpunitOut" />
<echo msg="PHPUnit Result: ${phpunitOut}" />