Configuración de Pruebas Unitarias para Crear Registros en Laravel
Clase 18 de 24 • Curso Básico de Testing con PHP y Laravel
Contenido del curso
- 5

Verificación de Resultados en Pruebas Unitarias con PHPUnit
07:09 - 6

Testing de Helpers en PHP con PHPUnit
07:26 - 7

Pruebas Unitarias en Laravel: Mutadores y Campos Virtuales
08:29 - 8

Pruebas de Métodos Personalizados en PHP con Laravel
04:56 - 9

Testing de Carga de Archivos en Laravel
08:49 - 10

Creación de Formulario HTML para Carga de Imágenes en Servidor
04:47 - 11

Refactorización y Testing en Proyectos de Programación
04:49 - 12

Validación de Formularios y Testing en Laravel
06:12 - 13

Pruebas de Datos en Bases de Datos con PHP y Laravel
08:41
- 14

Metodología TDD en PHP: Creación y Pruebas Efectivas
04:37 - 15

Desarrollo de un Proyecto Sencillo con Enfoque en Testing
01:35 - 16

Pruebas HTTP en PHP con Artisan y Base de Datos
08:48 - 17

Test de Visualización de Datos en Tabla de Etiquetas
05:36 - 18

Configuración de Pruebas Unitarias para Crear Registros en Laravel
07:35 - 19

Eliminación de registros en base de datos con Laravel
06:00 - 20

Validación
03:16 - 21

Pruebas de Funcionalidad de Etiquetas en Laravel desde el Navegador
05:25 - 22

Mejorando el Diseño de Proyectos con Tailwind CSS
06:37 - 23

Pruebas Unitarias en PHP: Creación y Verificación de Campos Virtuales
05:58
¿Cómo configurar registros exitosos en un sistema utilizando tests?
Acercarse al desarrollo de software con un enfoque orientado a pruebas no solo mejora la calidad del código, sino que también promueve un diseño más organizado y eficiente. En esta clase, vamos a sumergirnos en cómo configurar registros exitosos dentro de un sistema mediante el uso de tests. Comenzando con la creación de un test para etiquetas en un entorno Laravel, veremos cómo asegurar que nuestras rutas y controladores están correctamente configurados.
¿Cómo se crean nuevos tests en Laravel?
Para comenzar a configurar nuevos registros, primero debemos crear un test apropiado. La creación de un test en Laravel se hace mediante el uso del comando make:test seguido de la estructura del directorio donde se almacenará el test. En este caso, nuestro enfoque será sobre las etiquetas, por lo que utilizaremos:
make:test Http/Controllers/TagControllerTest
Este comando genera un nuevo archivo de prueba siguiendo una ruta bien definida, asegurando que nuestro proyecto mantenga una organización coherente. La estructura es fundamental para llevar un seguimiento claro y ordenado del desarrollo de tests.
¿Cómo se verifica la funcionalidad de una ruta mediante un test?
Una parte esencial de nuestro test es verificar la capacidad de la ruta para procesar el almacenamiento de datos correctamente:
$this->post('tags', ['name' => 'PHP'])
->assertRedirect('/')
->assertDatabaseHas('etiquetas', ['name' => 'PHP']);
- Ruta POST: El test envía un POST a la ruta
tagscon el datoname: PHP. - Redirección: Queremos confirmar que, tras guardar los datos, somos redirigidos a la raíz del proyecto.
- Verificación en base de datos: Utilizamos
assertDatabaseHaspara verificar que la información fue almacenada en la tablaetiquetas.
Estos pasos garantizan que nuestro sistema no solo almacene correctamente los datos, sino que también redireccione el flujo de usuario de manera adecuada tras un registro exitoso.
¿Cómo configurar un controlador en Laravel?
Tras crear un test funcional, es crucial configurar el controlador correspondiente:
- Creación del controlador:
php artisan make:controller TagController - Configuración del método
store:public function store(Request $request) { Tag::create($request->all()); return redirect('/'); }
Este método store en el TagController es responsable de procesar los datos recibidos y guardarlos en la base de datos antes de redirigir al usuario.
¿Cuál es el papel de los modelos al manejar asignación masiva?
Para que el modelo acepte la asignación masiva de datos, debemos establecer explícitamente qué campos están permitidos:
protected $fillable = ['name'];
Este ajuste dentro del modelo Tag informa a Laravel que puede aceptar masivamente el campo name, permitiendo un almacenamiento seguro y eficaz de datos.
¿Qué hacer cuando el test genera un error 500?
Si al ejecutar el test encuentras un error 500, podría deberse a la configuración incorrecta del modelo o la falta de migraciones adecuadas:
-
Configuración en el archivo
.env: Asegúrate de que las configuraciones de conexión a tu base de datos están actualizadas y correctas. -
Ejecución de migraciones: Corre las migraciones para asegurarte de que la estructura de la base de datos está configurada según las necesidades del test:
php artisan migrate
Arreglar estos aspectos usualmente resuelve los errores relacionados con la base de datos y asegura que tus tests tengan acceso a una base de datos funcional para realizar verificaciones.
Motivación para seguir aprendiendo sobre desarrollo basado en tests
La implementación de tests en el desarrollo no solo valida la integridad de tus aplicaciones, sino que también fomenta un enfoque de trabajo riguroso y estructurado. Seguir aprendiendo y aplicando estas prácticas te ayudará a crear software más robusto, seguro y mantenible. ¡Continúa explorando y aplicando estos conceptos para mejorar en tu camino como desarrollador!