PHP - Есть ли портативная версия PHPUnit? - PullRequest
8 голосов
/ 26 января 2011

Существует ли портативная версия PHPUnit, которую я могу связать с моим веб-приложением? Я хочу иметь возможность использовать phpunit на любом сервере, избегая проблем с использованием PEAR (конфликт версий, взлом других размещенных приложений и т.

Ответы [ 3 ]

8 голосов
/ 26 января 2011

Портативный 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 ..

, а затем поместите каждую из этих папок в путь включения.

Это не будет работать, если вы пропустите какой-либо из этих пакетов.

Если вы не хотите, чтобы они всегда были в пути включения, используйте исполняемый файл phpunit.sh

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 $*
3 голосов
/ 04 августа 2015

Ответ от 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
2 голосов
/ 11 августа 2012

Ответ от edorian пропустил пакет Symfony / Yaml.Более того, Symfony / Finder, казалось, был необходим, хотя и не упоминается в файле readme PHPUnit.

Что касается зависимости PEAR, то это только самопроверка PHPUnit, которая обычно нуждается в этом.По крайней мере, мне удалось без проблем запустить весь набор тестов Zend Framework 2.И у меня не был установлен PEAR.

Вот установщик для проверки PHPUnit Git, который я сделал https://github.com/kblomqvist/gitinstall-phpunit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...