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

Test-Driven Development con phpUnit 1

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 …

Tags:

2 Responses to “Test-Driven Development con phpUnit 1”

  1. Article Says:

    It seems too complicated and very general for me to understand.

  2. identity iq llc Says:

    Wow, I wish I could create well written articles nearly as well as you. Your posts always are so well written. Do you outsource it or write it by yourself?

Leave a Reply