PHPUnit – Tests Unitarios en PHP
Publicado en Frameworks, Programación el 14 de May de 2009 por Manel Pérez MataTags: PHP, PHPUnit, Unit Test
El otro día os hablaba de la importancia de usar test unitarios. Hoy os dejo un pequeño documento sobre PHPUnit, un framework para PHP que nos permite crear y ejecutar juegos de tests unitarios de manera sencilla, además de analizar por nosotros los resultados de los mismos.
Aunque inicialmente PHP empezó como complemento dinámico para pequeñas páginas web, actualmente PHP se utiliza para desarrollar aplicaciones web complejas, por lo que es importante poder realizar las pruebas pertinentes a nuestro código.
En la web oficial podemos ver todas las caractarísticas de PHPUnit, entre ellas encontramos:
* Puerto completo deJUnit para PHP5.
* Soporte para Mock Objects (jMock).
* Soporte para testeo de la base de datos
* Forma parte del grupo de frameworks de xUnit
* Almacena los resultados en una Test Database.
* Se integra con varias aplicaciones de test (como Selenium RC para aplicaciones web).
Instalar PHPUnit en Ubuntu
Podemos instalar este framework desde los repositorios oficiales de Ubuntu. Para ponerlo en marcha:
sudo apt-get update sudo apt-get install phpunit
y ya lo tenemos en nuestra máquina. Generalmente PHPUnit se instala en la ruta /usr/share/php, dentro encontraremos una carpeta PHPUnit con el código del framework, además, se habrá instalado un script phpunit con el cual, podremos lanzar las pruebas desde línea de comandos.
Instalar PHPUnit con PEAR
Si lo deseamos, también podemos hacer una instalación con PEAR (PHP Extensión and Application Repository), que es un entorno de desarrollo y sistema de distribución para componentes de código.
- Instalamos pear si no lo tenemos
sudo apt-get update sudo apt-get install php-pear
- Actualizamos a la última versión de pear
sudo pear upgrade pear
- Por último, añadimos el canal desde donde encontraremos el código de PHPUnit al “repositorio” de pearl y lo instalamos
pear channel-discover pear.phpunit.de # pear install phpunit/PHPUnit
Realizando nuestro primer test
Una vez lo tenemos instalado, haremos una prueba para asegurarnos de que funciona correctamente… para ello creamos un archivo FirstTest.php con la siguiente información:
-
<?php
-
-
class FirstTest extends PHPUnit_Framework_TestCase {
-
protected $fixture;
-
-
protected function setUp() {
-
// Create the Array fixture.
-
}
-
-
public function testNewArrayIsEmpty() {
-
// Assert that the size of the Array fixture is 0.
-
}
-
-
public function testArrayContainsAnElement() {
-
// Add an element to the Array fixture.
-
$this->fixture[] = ‘Element’;
-
-
// Assert that the size of the Array fixture is 1.
-
}
-
}
-
?>
Nos situamos en el directorio en el que hemos creado el archivo y lo ejecutamos desde consola con:
phpunit FirstTest.php
Si todo ha ido bien, obtendremos un resultado por pantalla informándonos de que hemos pasado los tests de manera satisfactoria; algo similar a esto:
PHPUnit 3.0.6 by Sebastian Bergmann. .. Time: 00:00 OK (2 tests)















July 6th, 2010 21:43
muy bueno pero como aplico esto a mis clases si ya tengo una clase que quiero probar como hago para incluirlo en mi codigo y probar mis funciones la verdad no entiendo aqui solo se muestra que crea una clase que comprueba ciertas cosas pero no comprueba otra clase a la que quiero hacer pruebas.
April 14th, 2011 20:10
Muy bien, me funciona perfecto. Ahora mi pregunta es como puedo ejecutar todas las pruebas que están dentro de la carpeta Test, por ejemplo poder decir:
Estando dentro de la carpeta Test:
phpunit *Test.php
y que ejecute todas las pruebas unitarias que tengo ahi.
Saludos y gracias desde ya.