2012-05-08 16 views
7

Estoy usando Zend Framework para algunos proyectos y quiero construir suites de prueba PHPUnit para ellos. Desafortunadamente, Zend Framework en su versión actual (1.11.x) solo es compatible con PHPUnit 3.5. Al mismo tiempo, también me gustaría comenzar a trabajar con el framework Symfony, que a su vez admite versiones más nuevas de PHPUnit. La pregunta es, ¿cómo puedo ejecutar múltiples versiones de PHPUnit en mi máquina de desarrollo al mismo tiempo sin tener que instalar servidores separados o cosas así?¿Cómo ejecuto varias versiones de PHPUnit en la misma máquina?

Estoy ejecutando OS X Lion (10.7) y utilizando apache y php (5.3.10) instalados a través de MacPorts. Idealmente, me gustaría terminar en una situación en la que simplemente pudiera escribir, p. phpunit5 en el terminal para ejecutar la versión 3.5 y tipear phpunit6 para ejecutar la versión 3.6, y así sucesivamente.

+1

Apesta cuando las API de los vendedores nos obligan a utilizar versiones específicas como esta. –

Respuesta

4

me gustaría recomendar que marca esta entrada del blog:

Para un chef-receta, revisar mi blog:

En caso de que los enlaces deje de funcionar:

  • pera soporta un interruptor de --installroot
  • ejemplo:

    pera instalar --installroot/some/ruta/phpunit34 pear.phpunit.de/PHPUnit-3.4.15

Una vez que lo instale, puede que tenga que agregar /some/path/phpunit34/usr/bin/ a $PATH o crear un enlace simbólico a /usr/bin como se muestra en la publicación del blog.

HTH

+2

PEAR hace llorar al bebé Jesús. –

+0

Gracias! Las instrucciones en el primer enlace hicieron el truco (por qué no pude encontrar que después de horas de búsqueda en Google sigue siendo un misterio). Tuve algunos problemas con la ruta de inclusión hasta que me di cuenta de que, por supuesto, necesitaba definir la ruta a los archivos de framework PHPUnit, no lo que está usando php (el comando pear config-show | grep php_dir me afectó un poco, ya que estaba apuntando a mi php binario). –

1

La respuesta aceptada funciona cuando se instala PHPUnit 3.4, pero si desea instalar PHPUnit 3.5 (que también puede ser utilizado para probar la unidad dentro de un proyecto Zend, aunque Zends propias pruebas puede que no todos pasan) tienes que seguir un camino ligeramente diferente. Necesitará instalar las dependencias para phpunit 3.5 por separado antes de instalar phpunit, de lo contrario, algunas de las dependencias simplemente forzarán una instalación de phpunit 3.6:

Instalar primero (observe la opción -f, que obliga a la instalación de una versión específica) :

sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.symfony-project.com/YAML-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_Selenium-1.0.1 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_Timer-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/Text_Template-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_MockObject-1.0.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/File_Iterator-1.2.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_CodeCoverage-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/DbUnit-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit-3.5.15 

A continuación, siga las instrucciones del enlace de la respuesta aceptada para cambiar la ruta de inclusión y vincularla simbólicamente correctamente.

0

PHPUnit ahora paquetes de ofertas archivos PHAR para todos Es versiones en https://phar.phpunit.de/

sólo tiene que descargar la versión (s) necesario y llamarlos usando:

php phpunit-X.Y.Z.phar 

(Donde X.Y.Z es la versión PHPUnit)

Los archivos PHAR se pueden aliasar fácilmente para que estén disponibles en todo el sistema.

Cuestiones relacionadas