Juan Carlos Clemente
1986-06-13
zetta
Website Photo
zetta

Test-Driven Development con phpUnit 1

March 9th, 2011

Una de las mejores cosas que considero me han ayudado bastante a la hora de atacar un requerimiento, o al agregar nuevas funcionalidades a un sistema es sin duda generar pruebas unitarias. en PHP un framework para realizar tal tarea es phpUnit.

La instalación de phpunit es bastante sencilla, lo mas facil es instalarlo desde pear, aqui hay mas información al respecto.

Nuestro primer paso será crear un archivo de nombre phpunit.xml

$ touch phpunit.xml

y una carpeta de nombre test

$ mkdir test

al archivo phpunit.xml le agregamos la siguiente información.

 
< ?xml version="1.0" encoding="UTF-8"?>
 
<phpunit backupGlobals="FALSE"
         backupStaticAttributes="FALSE"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="true"
         stopOnFailure="false"
         syntaxCheck="true"
>
  <testsuites>
    <testsuite name="tutorial test suite">
      <directory>./test/</directory>
    </testsuite>
  </testsuites>
</phpunit>

Este es un archivo de configuración de phpunit donde especificamos que estamos generando un test suite de nombre “tutorial test suite”, y sus archivos de test estan contenidos dentro de la carpeta test.

Antes de entrar en materia. veamos un ejemplo de un archivo Test muy básico (test/TutorialTest.php)

< ?php
 
class TutorialTest extends PHPUnit_Framework_TestCase
{
    public function setUp()
    {
 
    }    
 
    public function testSomething()
    {
         // mandar a llamar los métodos assert es la base de estos test, 
        // aqui estamos probando que efectivamente true == true
    	$this->assertTrue(true);  
    }
}

Las principales reglas para crear un archivo de test válido son..

  • Extender de PHPUnit_Framework_TestCase
  • el nombre de la clase debe tener terminación Test
  • los nombres de test deben comenzar con test

si en este momento corremos phpunit obtendremos algo como esto

$ phpunit
PHPUnit 3.5.13 by Sebastian Bergmann.
 
.
 
Time: 0 seconds, Memory: 4.00Mb
 
OK (1 test, 1 assertion)

Ahora podemos hacer unas modificaciones …

Wordle

August 21st, 2008

Me dio curiosidad ver que muchos blogs que leo a diario publicaran su nube creada con Wordle, asi que me meti a ver que salia con ctrl-zetta, esta fue el resultado (a mi me gustó)

Primer Meme

July 23rd, 2007

Leyendo el blog de Mauricio Caballero encontré este meme… respondamos

  • ¿Cuanto tiempo llevas blogueando?
    Lo he intentado varias veces, nunca he pasado de un par de meses
  • ¿Como te enteraste de la existencia de los blogs y te animaste a participar?
    No recuerdo, creo que por culpa de Mauricio
  • Dime cinco blogs que sigas a a diario o con mucha frecuencia.
  • ¿Eres lector anónimo de algún blog?
    De muchisimos no acabaria
  • ¿Algunos autores que te despierten especial simpatía?
    Cualquier autor que le guste compartir sus conocimientos
  • ¿Con que cinco blogueros te irias de borrachera?
    Con todos los que les guste el pisto
  • ¿Con que tres blogueros pasarías una noche de locura sexual?
    x_X
  • ¿Te has enamorado alguna vez de algún blogger?
    nah!
  • ¿Estas satisfecho (a) con tu blog?No! x.x nunca!
  • Elige entre tres y cinco blogueros para que contesten a estas preguntas en sus blogs.
    Todos los que estan mencionados arriba (y que no lo hayan hecho)

Pi

June 18th, 2006

?

3.1415926535897932384626433832795028841971693993751058209749445923078164 Read the rest of this entry »