0Pricing
PHP Academy · Lección

Configuración de PHPUnit y primera prueba

Instale PHPUnit mediante Composer y escriba su primera clase de prueba.

Configuración de PHPUnit y primera prueba es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.

¿Qué es PHPUnit?

PHPUnit es el framework estándar de pruebas unitarias de PHP. Permite escribir pruebas automatizadas que verifican unidades individuales de código de forma aislada.

Instalar PHPUnit

Instale PHPUnit mediante Composer como dependencia de desarrollo.

$ composer require --dev phpunit/phpunit "^11.0"

Configuración de phpunit.xml

Cree un archivo phpunit.xml para configurar la suite de pruebas.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

Escribir una clase de prueba

Extienda PHPUnit\Framework\TestCase. Cada método público cuyo nombre empiece por test es una prueba.

<?php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function test_addition(): void
    {
        $calc = new Calculator();
        $this->assertEquals(5, $calc->add(2, 3));
    }
}

La clase que se está probando

La clase Calculator que se está probando:

<?php
class Calculator
{
    public function add(int $a, int $b): int
    {
        return $a + $b;
    }
}

Ejecutar las pruebas

Ejecute PHPUnit desde la raíz del proyecto.

$ vendor/bin/phpunit
...
OK (1 test, 1 assertion)

Convenciones para nombrar pruebas

Hay dos estilos: test_method_name() (snake_case con el prefijo test) o usar la anotación @test sin el prefijo.

<?php
/** @test */
public function addition_returns_correct_sum(): void
{
    $this->assertEquals(5, (new Calculator())->add(2, 3));
}

Estructura de directorios

Distribución habitual: las pruebas reflejan la estructura de src.

src/Calculator.php       → Calculator
tests/CalculatorTest.php → CalculatorTest

setUp() y tearDown()

Ejecute código antes y después de cada método de prueba. Use setUp() para crear el objeto que se está probando.

<?php
protected function setUp(): void
{
    $this->calc = new Calculator();
}

public function test_add(): void
{
    $this->assertEquals(7, $this->calc->add(3, 4));
}

setUpBeforeClass() y tearDownAfterClass()

Ejecute código una vez antes y después de todas las pruebas de la clase — resulta útil para configuraciones costosas, como las conexiones a bases de datos.

Cobertura de código

Genere un informe de cobertura (requiere Xdebug o PCOV):

$ vendor/bin/phpunit --coverage-html coverage/

Resumen

Instale PHPUnit mediante Composer como dependencia de desarrollo. Cree una subclase de TestCase con métodos test_*(). Ejecute las pruebas con vendor/bin/phpunit. Use setUp() para crear objetos compartidos.

Comprobación rápida

¿Qué clase base deben extender las clases de prueba de PHPUnit?

Preguntas frecuentes

¿La lección «Configuración de PHPUnit y primera prueba» es gratis?

Sí — el texto completo de «Configuración de PHPUnit y primera prueba» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Configuración de PHPUnit y primera prueba»?

Instale PHPUnit mediante Composer y escriba su primera clase de prueba. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar PHP Academy?

No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Configuración de PHPUnit y primera prueba»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de PHP Academy?

Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Configuración de PHPUnit y primera prueba
  2. Aserciones y métodos de prueba
  3. Proveedores de datos para pruebas parametrizadas
  4. Simulación de dependencias con PHPUnit
← Volver a PHP Academy