2016-04-06 14 views
1

我有一個Jenkins服務器(在Windows上)用於測試一直運行正常的Symfony應用程序。我最近不得不將PHP從5.6降級到5.5,以匹配我們的部署環境(不知道爲什麼5.6安裝在第一位)。Jenkins沒有完成PHPUnit套件

這樣做後,我的PHPUnit測試套件不再完成。 PHPUnit通過Phing exec任務運行。如果我從命令行運行相同的任務,則測試套件結束。如果我運行phpunit命令(bin/phpunit -c phpunit.xml),則測試套件將完成。這讓我相信這個問題在詹金斯的某個地方,在PHP降級之前它一直運行良好。

儘管所有其他任務運行良好(phpcs,phpcpd等)。它的只是 PHPUnit,只有在Jekins構建期間。該套件只是停止執行(我不能得到任何錯誤顯示)和Phing呼叫下一個任務。構建甚至沒有被標記爲失敗,因爲PHPUnit沒有響應 - 它失敗了,因爲當詹金斯試圖處理phpunit測試結果時沒有。

關於我可能會丟失什麼或我可能如何顯示錯誤的任何建議?

+0

有無你能夠在這個問題上取得任何進展?我遇到了同樣的事情,運行PHP 5.6。我的工作按計劃進行。當Jenkins在預定時間運行它時,似乎PHPUnit總是無法完成,所以junit日誌等不會創建,但是當我手動運行作業時,PHPUnit完成運行,創建所有日誌和覆蓋率報告。這使我相信它可能是一個內存問題或類似的東西,但我沒有在日誌中的錯誤,所以我不知道。 –

回答

0

我不知道內置的PHPUnit的任務,但如果你使用exec任務,你可以捕捉(後來呼應)命令的輸出,並還可以構建戒菸失敗:

<exec 
    command="/usr/local/php56/bin/php vendor/phpunit/phpunit/phpunit" 
    checkreturn="true" 
    outputProperty="phpunitOut" /> 
<echo msg="PHPUnit Result: ${phpunitOut}" />