Intereting Posts
Проверка постоянной константы Создание интерфейса в PHP, который может указать тип, чтобы определить, какой класс использовать PHP: имя oci_bind_by_name и timestamp приводит к «ORA-01461: может привязывать значение LONG только для вставки в столбцы LONG» Есть ли ограничение по размеру для публикации файла с помощью curl? не умеет читать и писать xlsx файл php Прикрепление категорий из одной таблицы к записи в другой MySQL Обнаруживать непустую строку с регулярным выражением? PHP извлекает массив в переменные Подключение к удаленному серверу MySQL с помощью PHP Я хочу взорвать переменную несколько иначе Facebook FQL-запрос для всех пользователей онлайн «Веб-интерфейс» для тестов PHPUnit? Выполнение php-фантомных js работает, но casperjs не разрешает работу разрешено .php Случайное изображение служило .jpg на внешнем сайте Как извлечь полный контент из частичного контента rss

Phing не может видеть PHPUnit

Я пытаюсь настроить новый сервер непрерывной интеграции, который использует Phing и PHPUnit для автоматического запуска тестовых примеров.

Я установил Phing с Pear:

pear channel-discover pear.phing.info pear install phing/phing 

Я установил PHPUnit, используя новый метод PHAR:

 wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar mv phpunit.phar /usr/local/bin/phpunit 

Затем я перехожу в каталог, где находится мой файл build.xml, rung phing, и похоже, что Phing не знает, где PHPUnit.

 [jenkins@leroy workspace]$ phing Buildfile: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml Framework > test: [echo] Running Tests Execution of target "test" failed for the following reason: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: PHPUnitTask requires PHPUnit to be installed BUILD FAILED /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: PHPUnitTask requires PHPUnit to be installed Total time: 0.0764 seconds [jenkins@leroy workspace]$ 

Проверено расположение Phing и PHPUnit:

 [jenkins@leroy workspace]$ which phing /usr/bin/phing [jenkins@leroy workspace]$ which phpunit /usr/local/bin/phpunit 

И, убедившись, что PHP достаточно новый:

 [jenkins@leroy workspace]$ php -v PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57) 

Я делаю все это, потому что мы заменяем старый Jenkins-сервер новым. Попытка использовать новейшее программное обеспечение, но я не могу понять, как сказать Phing, где найти PHPUnit.

Заранее благодарю за любую помощь!

Дэвид

Кажется, что добавление атрибута phpunit элемент задачи phpunit , указывающий на ваш локальный исполняемый файл phpunit, выполняет задание:

 <phpunit haltonfailure="true" haltonerror="true" bootstrap="./fw_init.php" pharlocation="/usr/local/bin/phpunit"> <formatter type="plain" usefile="false" /> ... </phpunit> 

Похоже, что есть некоторые актуальные проблемы с phing и последние версии 4.x PHPUnit: http://www.phing.info/trac/ticket/1091 .

Поэтому, чтобы исправить проблему, я удалил PHPUnit 4 и задал более старую версию:

 pear install phpunit/PHPUnit-3.7.35 

Phing и PHPUnit работали сразу в этот момент.

Вот парень с точно такой же проблемой: как мне сказать Phing, где установлен PHPUnit?

Его теория такова:

Версия PHP на этой машине может быть слишком старой и не иметь возможности обрабатывать архивы PHAR

Я не могу прокомментировать, прав он или нет, но этот вопрос не получил никаких ответов ни от кого, кроме автора

Может быть, глупое замечание, но у вас есть /usr/local/bin/phpunit на вашем пути PHP include?

Я получаю ту же ошибку, когда я phpunit.phar местоположение phpunit.phar из моего пути включения.