У меня есть сервер Jenkins (в Windows) для тестирования приложения Symfony, которое работает нормально. Недавно мне пришлось понизить PHP с 5.6 до 5.5, чтобы соответствовать нашей среде развертывания (не знаю, почему 5.6 был установлен в первую очередь).
После этого мой набор тестов PHPUnit больше не завершается. PHPUnit запускается через задачу Phing exec. Если я запускаю ту же задачу из командной строки, набор тестов заканчивается. Если я запускаю команду phpunit (bin/phpunit -c phpunit.xml
) тестовый набор завершен. Это наводит меня на мысль, что проблема где-то в Дженкинсе, которая работала нормально до понижения 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}" />
Других решений пока нет …