Depois de vários problemas com a instalação e integração do PHPUnit com o Zend Framework no Ubuntu 12.04 resolvi fazer esse tutorial para ajudar outras pessoas a fazerem o mesmo.

O problema principal que encontrei foi o fato de aparentemente, por algum motivo obscuro, o ZendFramework não se integrar completamente com o PHPUnit 3.6.

Isso inviabiliza a instalação pelos meios tradicionais indicados na documentação do PHPUnit.

Com  a instalação padrão do PHPUnit é feita com sucesso na maioria das vezes, porém a versão que será instalada é a 3.6 ou superior, com as quais o Zend não se integra muito bem.

Para utilizar o PHPUnit com o Zend vamos instalar o PHPUnit na versão 3.5.15, que é a ultima release estavel dele antes da 3.6, seguem abaixo os comandos para instalação em computadores que não possuem outra versão do PHPUnit instalada, quem já possui outra versão instalada pule essa parte e vá para a sessão Downgrade PHPUnit e só depois execute os passos abaixo.

Instalando o PHPUnit 3.5.15 e suas dependencias

Abra um terminal no Ubuntu e execute os comandos abaixo na ordem indicada. (Você precisará ter o PEAR instalado na sua maquina, caso não possua  click  aqui e veja como instalar)

sudo pear upgrade PEAR
sudo pear config-set auto_discover 1
sudo pear channel-discover pear.phpunit.de

sudo pear install pear.symfony-project.com/YAML-1.0.2
sudo pear install phpunit/PHPUnit_Selenium-1.0.1
sudo pear install phpunit/Text_Template-1.0.0
sudo pear install phpunit/PHPUnit_MockObject-1.0.3
sudo pear install phpunit/PHP_Timer-1.0.0
sudo pear install phpunit/File_Iterator-1.2.3
sudo pear install phpunit/PHP_CodeCoverage-1.0.2
sudo pear install phpunit/DbUnit-1.0.0
sudo pear install --alldeps --force phpunit/PHPUnit-3.5.15 
sudo pear install --force phpunit/PHP_TokenStream-1.0.1

 

Para que o Coverage funcione é necessária a instalação do xDebug, seguem abaixo os passos para a instalação caso ainda não possua.

sudo apt-get install php5-dev php-pear make
sudo pecl install xdebug

Após a instalação adicione as seguintes opções no final do seu  php.ini , isso deve ser feito no  php.ini  do seu phpCLI

 

 
zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000 

 

** Downgrade PHPUnit **

sudo pear uninstall phpunit/PHPUnit
sudo pear uninstall phpunit/DbUnit
sudo pear uninstall phpunit/PHP_CodeCoverage
sudo pear uninstall phpunit/File_Iterator
sudo pear uninstall phpunit/PHP_Timer
sudo pear uninstall phpunit/PHPUnit_MockObject
sudo pear uninstall phpunit/Text_Template
sudo pear uninstall phpunit/PHPUnit_Selenium
sudo pear uninstall phpunit/PHP_TokenStream-1.0.1
sudo pear uninstall pear.symfony-project.com/YAML