0Pricing
PHP Academy · Lección

Aserciones y métodos de prueba

Utilice assertEquals, assertSame, assertNull y otras aserciones.

Aserciones y métodos de prueba es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 2 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é son las aserciones?

Las aserciones verifican que la salida real del código coincida con el valor esperado. PHPUnit proporciona una amplia biblioteca de métodos de aserción.

assertEquals frente a assertSame

assertEquals usa una comparación no estricta (==). assertSame usa una comparación estricta (===): comprueba el tipo y el valor.

<?php
$this->assertEquals(0, false);      // passes (0 == false)
$this->assertSame(0, false);        // FAILS  (0 !== false)

assertTrue y assertFalse

Compruebe que un valor sea exactamente true o exactamente false.

<?php
$this->assertTrue(is_string("hello"));
$this->assertFalse(is_numeric("abc"));

assertNull y assertNotNull

Compruebe si un valor es null.

<?php
$user = $repo->find(999);
$this->assertNull($user);

$user = $repo->find(1);
$this->assertNotNull($user);

assertCount

Asegure que un valor contable tenga el número esperado de elementos.

<?php
$items = $cart->getItems();
$this->assertCount(3, $items);

assertStringContainsString

Asegure que una cadena contenga una subcadena (distingue entre mayúsculas y minúsculas).

<?php
$html = $template->render();
$this->assertStringContainsString("<h1>Welcome</h1>", $html);

assertInstanceOf

Asegure que un objeto sea una instancia de una clase o interfaz determinada.

<?php
$handler = $factory->create("email");
$this->assertInstanceOf(EmailHandler::class, $handler);

assertThrows / expectException

Espere que se lance una excepción durante la prueba.

<?php
public function test_throws_on_invalid_input(): void
{
    $this->expectException(\InvalidArgumentException::class);
    $this->expectExceptionMessage("must be positive");
    new Product(-1);
}

assertArrayHasKey

Compruebe que un array contenga una clave específica.

<?php
$result = $api->getUser(1);
$this->assertArrayHasKey("email", $result);
$this->assertArrayHasKey("id", $result);

assertEqualsWithDelta

Compare números de coma flotante dentro de una tolerancia (delta).

<?php
$this->assertEqualsWithDelta(3.14159, M_PI, 0.001);

Mensajes de error personalizados

Pase un mensaje como último argumento a cualquier aserción para mejorar la información que se muestra cuando falla una prueba.

<?php
$this->assertEquals(200, $response->status(), "Expected HTTP 200 OK response");

Resumen

Use assertSame para la igualdad estricta, assertEquals para la no estricta y aserciones especializadas como assertInstanceOf, assertCount y assertThrows para escribir pruebas expresivas.

Comprobación rápida

¿Qué aserción comprueba también el tipo del valor?

Preguntas frecuentes

¿La lección «Aserciones y métodos de prueba» es gratis?

Sí — el texto completo de «Aserciones y métodos de 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 «Aserciones y métodos de prueba»?

Utilice assertEquals, assertSame, assertNull y otras aserciones. 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 2 de 4.

¿Cuánto tiempo toma la lección «Aserciones y métodos de 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