Comparte en Facebook Twitter Google+

laravel-test-model-factory-helper

Crear datos de prueba para comprobar el funcionamiento de tu aplicación es cada vez más sencillo con Laravel. El framework ahora cuenta con una capa o feature llamada Model factory que permite crear y almacenar información aleatoria para su posterior uso. Todo esto es posible con la ayuda del componente Faker, que ahora también viene incluido en Laravel, por defecto. Pero, ¿Y si damos un paso más? Hoy quiero explicarte cómo es posible generar model factories automáticamente con el complemento mpociot/laravel-test-factory-helper y así ahorrar aún más tiempo.

Este paquete lo que hace es generar los Model Factories usando como guía los modelos y la estructura de la base de datos de tu aplicación. Para su instalación solo debemos dirigimos en la consola (ubicados en la carpeta de nuestro proyecto) y ejecutar el siguiente comando:

Cuando se termine de descargar, agregamos el  service provider en array de providers que podemos encontrar en el archivo config/app.php:

Listo, ya está instalado y configurado el complemento. Ahora a modo de ejemplo vamos a crear un módulo de notas, utilizar el complemento para generar los model factories y utilizarlo en un seeder para crear 10 registros.

Para comenzar el ejemplo, vamos a crear una migración el cual llamaremos create_note_tableSeeder, con el comando:

vamos a modificar el archivo que fue creado en database/migrations/create_notes_table.php, el cual quedaría así:

Ahora creamos el modelo Note, con el comando:

el cual quedaría de la siguiente forma:

Nota: para continuar, recuerda tener los datos correctos para la conexión a la base de datos en el archivo de configuración .env de tu aplicación.

Perfecto, ya tenemos la migración y el modelo listo, vamos a ejecutar  la migración, con el siguiente comando en la consola:

Ahora si, genial podemos generar los model factories, con el siguiente comando en consola:

Si revisamos el archivo database/factories/ModelFactory.php podremos ver que se han generado las siguientes líneas:

Lo que haría falta es hacer el llamado de este factory desde un seeder. Para ello vamos a crear uno con el siguiente comando en consola:

el cual quedaría así, para crear 10 notas:

Agregar el llamado del seeder en el archivo database/seeds/DatabaseSeeder.php

Por último, podemos ejecutar la migración con los seeds para comprobar, lo hacemos con el siguiente comando:

Ya podemos revisar nuestra Base de Datos para confirmar la creación de los registros.

bd

Espero que sea de su agrado y les sea de utilidad. Cuéntanos,  ¿Qué te ha parecido?, comentarios y/o dudas son bien recibidas. Recuerda compartir este y demás tutoriales en las redes sociales.

Enlaces recomendados

Regístrate hoy en Styde y continua mejorando tus habilidades: ver planes.

Lección anterior Editar archivos Sass en Laravel con Chrome Developer Tools Lección siguiente Como integrar Google reCAPTCHA en formularios de login y registro de Laravel 5.2