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
- Configuración de PHPUnit y primera prueba
- Aserciones y métodos de prueba
- Proveedores de datos para pruebas parametrizadas
- Simulación de dependencias con PHPUnit