Introducción
Pruebas automáticas con PHP Unit y Laravel
Pruebas automatizadas para cambios seguros en plataformas web
Testing de aplicaciones con Laravel y PHPUnit
Comandos y Pruebas Básicas en Laravel: Uso de PHPUnit
Conceptos
Validación de Emails con PHPUnit en PHP
Unit Testing en PHP: Validación de Emails
Pruebas Unitarias en Laravel: Crear Modelos y Atributos Mutadores
Pruebas Unitarias con Métodos Personalizados en PHP
Testing de Carga de Imágenes en Laravel
Creación de Formularios HTML para Subida de Archivos en Laravel
Refactorización de Código sin Romper Pruebas en Visual Studio
Validación de formularios con Laravel: pruebas y mensajes de error
Testing de Bases de Datos con PHPUnit y Laravel Factory
Proyecto
Test-Driven Development en PHP: Aprende TDD con PHP Unit
Testing de Aplicaciones Web con JavaScript y Python
Pruebas de Conexiones HTTP en PHP con Artisan
Pruebas unitarias en Laravel: Visualización de datos en tablas
Pruebas Unitarias en Laravel: Creación y Verificación de Registros
Eliminar Registros en Base de Datos con Laravel
Validación
Desarrollando Formularios en Laravel con HTML y PHP
Mejora tu proyecto con Tailwind CSS
Pruebas Unitarias en PHP: Creación de Campos Virtuales
Conclusión
Testing en PHP Unit: Garantizando Calidad de Software
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
¡Bienvenidos a un mundo lleno de códigos eficientes y funcionalidades precisas! Hoy vamos a explorar una técnica esencial para cualquier programador: el uso de pruebas unitarias en nuevas funcionalidades. Cuando recibimos la solicitud de nuestros clientes de añadir una nueva columna o campo, las pruebas unitarias son nuestra mejor aliada para garantizar una implementación exitosa. Pero, ¿cómo hacerlo? Sigue leyendo para descubrir el proceso paso a paso.
Las pruebas unitarias son pequeños bloques de código que verifican el correcto funcionamiento de unidades individuales en un programa, como funciones o métodos. Estas pruebas son cruciales porque:
Al desarrollar una nueva característica, primero debemos escribir una prueba que defina su comportamiento esperado. Para ilustrar esto, veamos cómo crear un nuevo campo para mostrar el "slog" de una etiqueta.
Aquí tienes un extracto de código de cómo se escribe una prueba unitaria en PHP para un campo de slog:
public function testTagSlug()
{
$tag = new Tag(); // Crea una nueva instancia de la clase Tag
$tag->name = 'proyecto PHP'; // Asigna un nombre de ejemplo
// Verifica que el campo slog se genera correctamente
$expectedSlug = 'proyecto-php';
$this->assertEquals($expectedSlug, $tag->slug);
}
En este fragmento, primero configuramos un nombre dentro del objeto Tag
y después utilizamos assertEquals
para garantizar que el slog se genere en el formato adecuado: en minúsculas y con espacios sustituidos por guiones.
Una vez que la prueba está configurada y ejecutamos las pruebas, haremos los ajustes en el código para pasar el test. Si la prueba inicial falla porque no existe el método o propiedad que esperamos, creamos nuestro atributo virtual.
public function getSlugAttribute()
{
return strtolower(str_replace(' ', '-', $this->name));
}
En este bloque de código, hemos definido un método getSlugAttribute
que es responsable de convertir el nombre en minúsculas y reemplazar los espacios con guiones, creando así el slug deseado.
Después de implementar el código, verifiquemos que todo funciona bien volviendo a ejecutar todas nuestras pruebas. Si todas pasan, habremos confirmado que nuestra nueva funcionalidad está bien integrada y no afectó código previo.
Implementar pruebas unitarias es más que escribir algo de código extra. Estas pruebas son la columna vertebral que proporciona estabilidad a sus proyectos, garantizando que lo que construyas hoy siga funcionando mañana. Aprovecha el poder de las pruebas unitarias para asegurar el éxito a largo plazo.
¡A seguir aprendiendo! Recuerda que cada paso que das en mejorar tus habilidades en programación te acerca más a crear aplicaciones más robustas y fiables.
Aportes 9
Preguntas 2
Una forma más fácil de obtener el slug es utilizando el Helper de Laravel Str::slug:
use Illuminate\Support\Str;
...
public function getSlugAttribute()
{
return Str::slug($this->name, '-');
}
3 cambios puntuales y los últimos (por el momento) del proyecto 👐
https://github.com/AbnirHencazs/tag-tdd/tree/31eac2b9ef1c149e2c4a807a07bd51b81b9d0b01
Se pierde menos tiempo realizando estos test
Caramba donde le pongo “Me encanta!” Italo es genial ya van como 7 años que aprendo con él
Simplificando los accesors en Laravel 9
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class Tag extends Model
{
use HasFactory;
protected $fillable = ['name'];
public function slug(): Attribute
{
return new Attribute(fn() => str::slug($this->name, '-'));
}
}
prueba unitaria
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?