Inciso antes de empezar: Estoy buscando información y cursos de Symphony 2, porque me han recomendado aprender sobre este framework (ya que el destino parece empujarme a trabajar en PHP, si la vida te da limones haz mucha limonada para meter en tu currículum), si alguien puede aportar algo sobre el tema, por favor, en comentarios.
Y seguimos con el tema, instalar PHPUnit en un servidor Apache en Windows (WAMP).
Bueno, habría que empezar por decir ¿por qué usar PHPUnit? Pues para poder realizar tests automatizados sobre nuestro código PHP de manera eficiente. ¿Cómo lo instalamos en nuestro servidor? Bueno, todo es ir en cómodos pasos:
NOTA: En el artículo original lo hacíamos con PEAR, pero se le quitó el soporte hace años. Editamos para ver cómo hacerlo con PHAR:
- Añade el directorio (en mi caso «c:\wamp\bin\php\php5.3.4») php a tu PATH
- Descargamos el fichero PHAR desde https://phar.phpunit.de/phpunit-7.phar (Ojo, puede cambiar la versión con el paso del tiempo) y lo guardamos como C:\bin\phpunit.phar
- Después ejecutamos el siguiente comando:
C:\Users\username> cd C:\bin C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd C:\bin> exit
- Abre un nuevo prompt en línea de comados y comprueba que se ha instalado correctamente con el siguiente comando:
C:\Users\username> phpunit --version
Ok, ahora debería estar funcionando e instalado. Lo mejor es hacer un test de prueba para ver si funciona todo. En este caso una tontería básica de la que sabemos el resultado: comprobaremos que uno es igual a uno.
class MyTest extends PHPUnit_Framework_TestCase { public function testUnoIgualUno() { $this->assertEquals(1, 1); } }
Ahora desde otro terminal basta ejecutar phpunit MyTest.php y este debería devolverte como respuesta el número de versión de PHPUnit, el tiempo que necesitó para la operación, la memoria consumida y un mensaje como este: OK (1 test, 1 assertion)
Todavía no he profundizado mucho con este software, pero cuando tenga tiempo en el trabajo espero poder ponerme con ello porque facilita mucho la vida el poder realizar tests de forma organizada.