Modelado de Aplicaciones con TDD en Rails
Clase 9 de 33 • Curso de Creación de APIs con Ruby on Rails
Contenido del curso
- 3

Creación de APIs con Rails: Proyecto Blog API paso a paso
04:37 - 4

Configuración de Gemas para Pruebas en Proyectos Rails
06:26 - 5

Configuración de Gemas en Proyectos Rails: Arspec, Factory Bot y Database Cleaner
07:25 - 6

Implementación de un Health Check Endpoint en API con RSpec
12:28 - 7

Diseño de Casos de Uso y Diagramas de Entidad para Aplicaciones
03:16 - 8

Diagrama de Entidad Relación para Modelos de Aplicación
01:41 - 9

Modelado de Aplicaciones con TDD en Rails
05:59 - 10

Validaciones y Pruebas TDD en Rails: Modelos USR y Post
07:07 - 11

Implementación de Endpoints para Listar y Mostrar Posts con TDD
15:12 - 12

Implementación de Pruebas y Controladores en Rails
10:34 - 13

Creación y Actualización de Posts con Pruebas TDD
10:12 - 14

Implementación de Métodos y Manejo de Excepciones en Rails API
10:23 - 15

Serialización de Modelos en Rails con ActiveModelSerializer
06:03 - 16

Búsqueda y Filtrado de Posts por Título con TDD
05:57 - 17

Implementación de Búsqueda de Posts con Servicios en Rails
06:06 - 18

Problema N+1 en Rails: Detección y Solución Eficaz
04:40 - 19

Identificación y solución del problema N+1 en Rails
06:20 - 20

Flujo de Autenticación en APIs con Tokens y Proveedores
05:29 - 21

Pruebas de Autenticación en API con Test Driven Development
12:17 - 22

Autenticación con Tokens: Implementación en Rails API
05:54 - 23

Autenticación de Usuarios en Controladores Rails
09:20 - 24

Autenticación y Seguridad en CRUD de Posts en Rails
09:17 - 25

Pruebas de Creación y Actualización con Autenticación en Rails
14:21 - 26

Pruebas de API con Postman: Ejecución y Verificación de Respuestas
10:43 - 27

Caching en Aplicaciones Web: Funciones y Niveles
07:15 - 28

Aceleración de Búsquedas en Rails con Caching
08:23 - 29

Background Jobs en Rails: Conceptos y Funcionalidades
05:45 - 30

Procesamiento en Background y Envío de Correos con Rails
09:45 - 31

Envío de Correos en Rails con ActionMailer y Background Jobs
11:06 - 32
Autenticación y Autorización con JWT y Auth0 en Aplicaciones Web
03:48
¿Cómo aplicar Test Driven Development en tu proyecto?
Test Driven Development (TDD) es una metodología de programación que se centra en crear las pruebas antes de desarrollar el código. Esta práctica es especialmente popular entre los desarrolladores de Ruby on Rails, debido a su capacidad para facilitar la implementación de software robusto y libre de errores. ¿Te gustaría adoptar esta técnica en tu próximo proyecto? Aquí te explicamos cómo puedes empezar.
TDD es particularmente útil para:
- Aplicaciones pequeñas.
- Casos donde los requisitos son claros y están bien definidos desde el inicio.
Sin embargo, en proyectos grandes o cuando los requisitos no están completamente definidos, TDD puede no ser la mejor opción. Es importante investigar y evaluar si esta práctica se adapta a tus circunstancias particulares.
¿Cómo generar modelos en Rails usando TDD?
Antes de implementar nuestro código, vamos a generar los modelos que necesitaremos en nuestro proyecto. Utilizando Rails, el proceso para crear modelos se simplifica mediante la línea de comandos.
Generar el modelo "Usuario"
Primero, vamos a crear el modelo de "Usuario". Utilizaremos el generador de Rails con el siguiente comando:
rails g model Usuario email:string nombre:string authentication_token:string
Este comando genera un modelo de usuario con los campos email, nombre y un token de autenticación provisional. Aunque más adelante integraremos autenticación avanzada con Auth0 y JSON Web Tokens, este método nos prepara para los desarrollos futuros.
Generar el modelo "Post"
A continuación, generamos el modelo de "Post". Este post tendrá campos para el título, contenido, y un booleano que indica si está publicado, además de una referencia a un usuario:
rails g model Post titulo:string contenido:text publicado:boolean usuario:references
Es importante especificar "usuario:references" para crear una asociación entre los usuarios y los posts. Esto genera una clave foránea en la tabla "posts" apuntando a "usuarios".
Solucionar errores de generación
Durante el proceso de generación, podrías cometer errores, como olvidar terminar con una 's' en 'references'. Para ello, Rails ofrece el comando destroy que nos permite borrar un modelo recién creado:
rails destroy model Post
Con este comando deshacemos la generación del modelo y corregimos nuestro error antes de volver a intentarlo.
Verificación y migración
Una vez generados correctamente, es crucial verificar los modelos y migraciones:
- Comprueba los archivos de modelo: tanto Usuario como Post deben incluir las asociaciones adecuadas.
- Revise las migraciones: asegúrate de que la tabla de "Usuario" y "Post" contengan los campos deseados y la clave foránea.
Finalmente, corre las migraciones para reflejar estos cambios en la base de datos:
rails db:migrate
¿Cómo configurar RSpec para tus pruebas en Rails?
Con el modelo y la base de datos configurados, es momento de preparar nuestras pruebas. Rails y RSpec se integran eficientemente, generando automáticamente archivos de prueba para cada modelo creado.
Antes de comenzar, te ofrecemos un pequeño repaso del flujo:
- Generar modelos con campos y asociaciones: asegurarte de que los modelos cuenten con la estructura correcta.
- Corregir errores: usando
rails destroy, corrige cualquier error en los modelos generados. - Configurar migraciones: modificar la base de datos para reflejar los modelos creados.
¡Ya estás listo para implementar tus pruebas! En la próxima etapa, realizaremos y ejecutaremos las pruebas necesarias para asegurar que nuestros modelos se comporten como esperamos. ¡Continúa así y no te detengas en tu aprendizaje! Aprende más sobre cómo TDD y RSpec pueden mejorar tus proyectos de software.