PHPUnit – Tests Unitarios en PHP

Publicado en Frameworks, Programación el 14 de May de 2009 por Manel Pérez Mata
Tags: , ,

PHPUnit LogoEl 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.

  1. Instalamos pear si no lo tenemos
    sudo apt-get update
    sudo apt-get install php-pear
  2. Actualizamos a la última versión de pear
    sudo pear upgrade pear
  3. 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:

  1. <?php
  2.  
  3. class FirstTest extends PHPUnit_Framework_TestCase {
  4.     protected $fixture;
  5.  
  6.     protected function setUp() {
  7.         // Create the Array fixture.
  8.         $this->fixture = Array();
  9.     }
  10.  
  11.     public function testNewArrayIsEmpty() {
  12.         // Assert that the size of the Array fixture is 0.
  13.         $this->assertEquals(0, sizeof($this->fixture));
  14.     }
  15.  
  16.     public function testArrayContainsAnElement() {
  17.         // Add an element to the Array fixture.
  18.         $this->fixture[] = ‘Element’;
  19.  
  20.         // Assert that the size of the Array fixture is 1.
  21.         $this->assertEquals(1, sizeof($this->fixture));
  22.     }
  23. }
  24. ?>

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)
Compártelo!! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Meneame
  • BarraPunto
  • Technorati
  • Google Bookmarks
  • Facebook
  • LinkedIn
  • del.icio.us
  • Digg
  • Reddit
  • Live-MSN
  • MySpace
  • TwitThis
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Leave a Reply