RSS
 

Установка PHPUnit for Windows

PHPUnit - популярный фреймворк для юнит-тестирования и не только. Который, как оказалось, не так и просто порою поставить на Windows.

Проще всего установку фреймворка сделать из консоли. Для этого нам потребуется расширение PEAR. У меня оно было установлено, но недостаточно высокой версии. Проблемы начались уже при попытке обновления.

Warning: require_once(Structures/Graph.php): failed to open stream: No such file or directory in Z:\usr\local\php5\PEAR\PEAR\Downloader.php on line 1217

От такой напасти меня спас следующий аттач, который нужно положить в ...local\php5\PEAR\Structures
http://www.jargonsoft.com/support/download_attachment.php?kb_att=13

после чего в консоли выполнить:
pear install -a Structures_graph

после чего успешно смогла отработать:
pear upgrade PEAR

Следующим логичным шагом стала установка самого фреймворка. точнее попытка это сделать.

pear channel-update pear.php.net
pear upgrade-all
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear channel-discover pear.symfony.com
pear update-channels
 
pear install phpunit/PHPUnit

Установка также завершилась успешно. Проверяем:

phpunit --version
На что получаем ошибку:

Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in Z:\usr\local\php5\PEAR\PHPUnit\Autoload.php on line 67 Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.;Z:\usr\local\php5\pear') in Z:\usr\local\php5\PEAR\PHPUnit\Autoload.php on line 67

После определенного Гугления находим решение этой проблемы:
pear install --force phpunit/PHPUnit_MockObject
Как результат получаем такую ошибку:

SECURITY ERROR: Will not write to C:\Users\\AppData\Local\Temp\pear\cache\e9b88593398eb79a9aa91024351d646arest.cacheid as it is symlinked to C:\Users\\AppData\Local\Temp\pear\cache\e9b88593398eb79a9aa91024351d646arest.cacheid - Possible symlink attack

Ее можно исправить, если зайти в обычном проводнике в
C:\Users\\AppData\Local\Temp\
и удалить папку pear

Теперь можно успешно выполнить:
pear install --force phpunit/PHPUnit_MockObject

После чего проверка версии также, наконец-то, завершится успехом:
phpunit --version
PHPUnit 3.7.28 by Sebastian Bergmann.