Я установил PHPUnit на MAMP без PEAR, я думаю, что это работает.Вот как:
Скорее всего, у вас уже установлен git.Если нет, http://help.github.com/mac-set-up-git/
Следуйте инструкциям на этой странице github: https://github.com/sebastianbergmann/phpunit/ - копирование с этой страницы (8 апреля 2010 г.):
mkdir phpunit && cd phpunit
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
Скопируйте и вставьте этодо терминала.Это должно дать вам папку phpunit с phpunit и всеми зависимостями внутри.Следующая инструкция - скопировать все папки в ваш php include_path
.Узнайте, где находится ваш include_path
в вашем файле php.ini
.Вы используете MAMP, так что это должно быть что-то вроде /Applications/MAMP/conf/php5.3/php.ini
.Обычно include_path
для MAMP таков:
include_path = ".:/Applications/MAMP/bin/php5.3/lib/php"
Однако вы не можете просто скопировать и вставить папку, вы должны утомительно выяснить, какую папку скопировать.Вы можете узнать это, прочитав файл package.xml
каждой папки.Начните с phpunit
:
<dir name="/">
<dir name="PHPUnit">
...
</dir>
<file baseinstalldir="/" name="ChangeLog.markdown" role="doc"/>
<file baseinstalldir="/" name="LICENSE" role="doc"/>
<file baseinstalldir="/" name="README.markdown" role="doc"/>
<file baseinstalldir="/" name="phpunit.php" role="script">
...
</file>
<file baseinstalldir="/" name="phpunit.bat" role="script">
...
</file>
</dir>
Таким образом, вы копируете папку PHPUnit
, LICENSE
, README.markdown
, phpunit.php
, phpunit.bat
в include_path
.После этого перейдите в папку dbunit
, папку php-file-iterator
и т. Д. И т. Д.Это немного утомительно.
Убедитесь, что вы НЕ ЗАМЕНИТЕ ЛЮБУЮ ПАПКУ, OSX действительно заменяет каждой папки (вместо слияния, как это делал бы любой здравомыслящий человек), поэтомуесли папка уже существует, она копирует только новую папку / файлы.Вы должны быть в состоянии определить, какую папку легко скопировать, используя немного логики.
После этого скопируйте phpunit.php
в любую папку, а затем отредактируйте первую строку:
#!/usr/bin/env php
на:
#!/usr/bin/env /Applications/MAMP/bin/php5.3/bin/php
Измените разрешение phpunit.php
, чтобы мы могли его выполнить:
chmod 744 phpunit.php
Вы должны иметь возможность запустить его так:
./path/to/phpunit.php testCase.php
Надеюсь, это поможет.
Если вы хотите обновить PEAR или узнать что-нибудь о его причудах при использовании в MAMP OSX, здесь есть хорошее обсуждение:
https://serverfault.com/questions/184741/upgrading-pear-from-1-9-0-to-1-9-1-fails
Старая дискуссия об установке PHPUnit без PEAR:
Как установить PHPUnit без использования PEAR в Mac OS X 10.5?