2012-05-08 2 views
7

Я использую Zend Framework для некоторых проектов и хочу создать для них набор тестов PHPUnit. К сожалению, Zend Framework в текущей версии (1.11.x) поддерживает только PHPUnit 3.5. В то же время я также хотел бы начать работу с инфраструктурой Symfony, которая, в свою очередь, поддерживает более новые версии PHPUnit. Тогда возникает вопрос, как я могу одновременно запускать несколько версий PHPUnit на моей машине dev без установки отдельных серверов или подобных вещей?Как запустить несколько версий PHPUnit на одном компьютере?

Я запускаю OS X Lion (10.7) и используя apache и php (5.3.10), установленные через MacPorts. В идеале я хотел бы оказаться в ситуации, когда я мог бы просто напечатать, например. phpunit5 в терминале для выполнения версии 3.5 и введите phpunit6 для выполнения версии 3.6 и так далее.

+1

Отсосает, когда API-интерфейсы поставщиков заставляют наши руки использовать определенные версии. –

ответ

4

Я рекомендую вам проверить этот блог:

Для шеф-рецепт, проверить мой блог:

Если ссылки прекратить работу:

  • груша поддерживает --installroot переключатель
  • пример:

    груша установить --installroot/некоторые/путь/phpunit34 pear.phpunit.de/PHPUnit-3.4.15

После установки вам может потребоваться добавить /some/path/phpunit34/usr/bin/ в $PATH или создать символическую ссылку на /usr/bin, как показано на блоге.

НТН

+2

PEAR заставляет ребенка плакать. –

+0

Спасибо! Инструкции в первой ссылке сделали трюк (почему я не смог найти, что после долгих поисков Google остается загадкой). Было немного неприятностей с включением пути, пока я не понял, что мне, конечно, нужно определить путь к файлам фреймворка PHPUnit, а не то, что использует сам php (команда pear config-show | grep php_dir немного отбросила меня, поскольку она указывал на мой php-бинарный файл). –

1

Принятый ответ работает при установке PHPUnit 3.4, но если вы хотите установить PHPUnit 3.5 (который также может быть использован для модульного тестирования в рамках проекта Zend, хотя Zends собственных тесты могут не все проходит) вы должны следовать немного другому пути. Вам необходимо будет установить зависимости для phpunit 3.5 отдельно перед установкой phpunit, иначе некоторые из зависимостей просто заставят установить phpunit 3.6:

Установите сначала (обратите внимание на параметр -f, который заставляет установку определенной версии) :

sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.symfony-project.com/YAML-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_Selenium-1.0.1 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_Timer-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/Text_Template-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_MockObject-1.0.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/File_Iterator-1.2.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_CodeCoverage-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/DbUnit-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit-3.5.15 

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

0

PHPUnit теперь предлагает в комплекте ФАР файлы для всех его версий на https://phar.phpunit.de/

Просто скачайте необходимую версию (ы) и вызывать их с помощью:

php phpunit-X.Y.Z.phar 

(Где X.Y.Z это версия PHPUnit)

Файлы PHAR можно легко сгладить, чтобы сделать их доступными в масштабе всей системы.