Есть ли переносимая версия PHPUnit, которую я могу связать с моим веб-приложением? Я хочу иметь возможность использовать phpunit на любом сервере, избегая при этом проблем с использованием PEAR (конфликты версий, нарушение других размещенных приложений и т. Д.).
Портативный phpunit (взято из https://github.com/sebastianbergmann/phpunit «Использование PHPUnit от Git Checkout»)
Для phpunit 3.5:
git clone git://github.com/sebastianbergmann/phpunit.git git clone git://github.com/sebastianbergmann/dbunit.git git clone git://github.com/sebastianbergmann/php-file-iterator.git git clone git://github.com/sebastianbergmann/php-text-template.git git clone git://github.com/sebastianbergmann/php-code-coverage.git git clone git://github.com/sebastianbergmann/php-token-stream.git git clone git://github.com/sebastianbergmann/php-timer.git git clone git://github.com/sebastianbergmann/phpunit-mock-objects.git git clone git://github.com/sebastianbergmann/phpunit-selenium.git cd phpunit && git checkout 3.5 && cd .. cd dbunit && git checkout 1.0 && cd .. cd php-file-iterator && git checkout 1.2 && cd .. cd php-code-coverage && git checkout 1.0 && cd .. cd php-token-stream && git checkout 1.0 && cd .. cd phpunit-mock-objects && git checkout 1.0 && cd .. cd phpunit-selenium && git checkout 1.0 && cd ..
а затем поместите каждую из этих папок в ваш путь включения.
Это не сработает, если вы оставите какой-либо из этих пакетов.
Если вы не хотите, чтобы они всегда содержались в пути include, это исполняемый файл phpunit.sh
x='./checkoutDir/'; php -d include_path=".:$x/phpunit/:$x/dbunit/:$x/php-code-coverage/:$x/php-file-iterator/:$x/php-text-template/:$x/php-timer/:$x/php-token-stream/:$x/phpunit-mock-objects/:$x/phpunit-selenium/:$x/phpunit-story/:/usr/share/php/" $x/phpunit/phpunit.php $*
Ответ edorian был на месте в то время, когда он был написан (и, вероятно, все еще полезен сегодня). Однако в настоящее время в вашем распоряжении есть еще более удобные варианты.
Помимо исправления конкретного PhpUnit через Composer , вы также можете загрузить PHPUnit в качестве Phar и использовать его.
Цитирование https://github.com/sebastianbergmann/phpunit
Мы распространяем архив PHP (PHAR), в котором есть все необходимые (а также некоторые необязательные) зависимости PHPUnit, входящие в один файл:
wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar mv phpunit.phar /usr/local/bin/phpunit
Ответ от edorian пропустил пакет Symfony / Yaml. Более того, Symfony / Finder, казалось, был необходим, хотя не упоминался в файле readme PHPUnit.
Что касается зависимостей PEAR, то это требует только самотестирование PHPUnit. По крайней мере, мне удалось без проблем запустить весь комплект тестов Zend Framework 2. И я не установил PEAR.
Вот установщик для проверки PHPUnit Git, который я сделал https://github.com/kblomqvist/gitinstall-phpunit .