Pruebas de código PHP: guía para principiantes desde cero hasta la primera prueba

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Por qué las pruebas en PHP no dan miedo, sino que son útiles?

\n\n

Imagina: escribiste un script en PHP, funciona. Te alegras. Una semana después necesitas agregar una nueva función. Cambias un par de líneas y, de repente, todo se rompe. ¿Te suena familiar? Si es así, necesitas conocer urgentemente las pruebas de PHP. No es magia, sino un conjunto de herramientas que salvarán tu proyecto del caos.

\n\n

Muchos desarrolladores principiantes temen a las pruebas. Parece que son difíciles, aburridas y consumen tiempo. En realidad, las pruebas unitarias de PHP son como un seguro: pagas un poco ahora para no perderlo todo después. En este artículo, analizaremos por dónde empezar con las pruebas de PHP para un principiante, qué herramientas usar y cómo escribir tu primera prueba sin volverte loco.

\n\n

¿Qué son las pruebas y para qué sirven?

\n\n

Las pruebas de código son el proceso de verificar que tu programa hace exactamente lo que esperas. En lugar de abrir el navegador manualmente cada vez y hacer clic en enlaces, escribes scripts especiales (pruebas) que lo hacen por ti.

\n\n

Principales ventajas:

\n
    \n
  • Confianza en el código. Sabes con certeza que después de los cambios nada se romperá.
  • \n
  • Ahorro de tiempo. La verificación automática es más rápida que la manual.
  • \n
  • Documentación. Las pruebas muestran cómo debe funcionar tu código.
  • \n
  • Simplificación de la refactorización. Puedes reescribir el código con tranquilidad si las pruebas pasan.
  • \n
\n\n

La herramienta más popular para pruebas de PHP es PHPUnit. Es el estándar de facto en el mundo PHP. Con ella trabajaremos.

\n\n

Instalación de PHPUnit: dos formas sencillas

\n\n

Antes de escribir pruebas, necesitas instalar PHPUnit. Hay dos caminos principales.

\n\n

Forma 1: Composer (recomendada)

\n\n

Si ya usas Composer (y deberías, es el gestor de dependencias para PHP), es muy sencillo. Abre la terminal en la raíz de tu proyecto y ejecuta:

\n\n
composer require --dev phpunit/phpunit ^10
\n\n

La bandera --dev significa que PHPUnit se instalará solo para desarrollo y no irá al servidor de producción.

\n\n

Forma 2: Archivo PHAR

\n\n

Si Composer no es tu opción, puedes descargar PHPUnit como un solo archivo:

\n\n
wget https://phar.phpunit.de/phpunit.phar\nchmod +x phpunit.phar\nsudo mv phpunit.phar /usr/local/bin/phpunit
\n\n

Después de esto, el comando phpunit --version debería mostrar la versión.

\n\n

Primera prueba: escribir y ejecutar

\n\n

Ahora viene lo interesante. Crearemos una clase simple y escribiremos una prueba para ella. Supongamos que tenemos una función que suma dos números.

\n\n

Paso 1. Código a probar

\n\n

Crea el archivo src/Calculator.php:

\n\n
<?php\n\nnamespace App;\n\nclass Calculator\n{\n    public function add(float $a, float $b): float\n    {\n        return $a + $b;\n    }\n}
\n\n

Paso 2. Prueba para esta clase

\n\n

PHPUnit sigue la convención: las pruebas se almacenan en el directorio tests/ y el nombre del archivo de prueba coincide con el nombre de la clase con el sufijo Test. Crea tests/CalculatorTest.php:

\n\n
<?php\n\nnamespace Tests;\n\nuse App\\Calculator;\nuse PHPUnit\\Framework\\TestCase;\n\nclass CalculatorTest extends TestCase\n{\n    public function testAdd()\n    {\n        $calculator = new Calculator();\n        $result = $calculator->add(2, 3);\n        $this->assertEquals(5, $result);\n    }\n}
\n\n

¿Qué sucede aquí?

\n
    \n
  • Heredamos de TestCase — la clase base de PHPUnit.
  • \n
  • El método testAdd es nuestra prueba. PHPUnit ejecuta automáticamente todos los métodos que comienzan con test.
  • \n
  • $this->assertEquals() es una assert (afirmación). Verifica

Blogs

Book Recommendations