- 1

Curso Intermedio de Ruby on Rails: Migración y Optimización Avanzada
01:37 - 2

Migración de Rails a MongoDB con Mongoid y Pruebas Automatizadas
03:38 - 3

Gestión de Múltiples Versiones de MongoDB en Linux
13:21 - 4

Migración de Rails a MongoDB con Mongoid: Configuración Inicial
10:17 - 5

Migración de Modelos de Active Record a Mongoid
08:35 - 6

Migración completa de aplicaciones con MongoDB y Rails
15:55
Pruebas de Validación y Guardado en Modelos Rails
Clase 11 de 34 • Curso Intermedio de Ruby on Rails
Contenido del curso
- 7

Pruebas Automatizadas: Introducción a TDD y BDD en Desarrollo de Software
10:11 - 8
Creación de Fábricas Automatizadas con FactoryBot y Faker en Rails
04:18 - 9

Integración de Librerías para Pruebas Automatizadas en Rails
13:24 - 10

Pruebas de Modelos en Rails con Mongoid y RSpec
13:41 - 11

Pruebas de Validación y Guardado en Modelos Rails
11:39 - 12

Validación y Pruebas de Modelos en Ruby on Rails
07:48 - 13

Pruebas de Integración en Rails: Configuración y Ejecución Básica
10:54 - 14

Creación y prueba de tareas con métodos POST en Rails
12:39 - 15

Automatización de Pruebas con Headless Browser y Capybara en Rails
05:03 - 16

Pruebas de Sistema con KPIBara y WebDriver en Rails
13:35 - 17

Automatización de Pruebas de Sistema con Selenium y JavaScript
15:24
- 22

Envío de Emails Automático al Crear Tareas
04:43 - 23

Introducción a Service Objects en Ruby on Rails
09:00 - 24

Pruebas de TDD para Service Object de Notificaciones por Correo
12:18 - 25

Creación de Service Objects para Envío de Correos en Ruby on Rails
13:04 - 26

Procesos en Background con Sucker Punch en Rails
12:51 - 27

Pruebas con Doubles en Rails usando Sucker Punch
12:10
- 28

Máquinas de Estado Finito: Conceptos y Aplicaciones Prácticas
07:32 - 29

Creación de Máquinas de Estados con AASM en Ruby on Rails
13:37 - 30

Creación de Service Object para Gestión de Estados de Tareas en Rails
08:37 - 31

Acciones de Controlador y Pruebas en Ruby on Rails
10:43 - 32

Integración de AJAX en Gestión de Estados de Tareas en Ruby on Rails
13:07
¿Cómo añadir pruebas de modelo al método save de un modelo?
Añadir pruebas de modelo adecuadas es esencial para garantizar la validez de nuestra aplicación. Aquí nos enfocaremos en el método de instancia save del modelo task, asegurándonos de que los datos ingresados cumplan con las validaciones impuestas por el modelo. Este proceso también nos ayudará a verificar que las tareas creadas a partir de cero sean válidas.
¿Cómo estructurar el contexto para las pruebas?
Para iniciar, es recomendable utilizar el método context para separar el bloque de código que contiene la configuración anterior de las pruebas. Esto no solo mejora la legibilidad sino que también aísla las pruebas permitiendo cambios sin afectar otros bloques de código. Podemos identificar contextos como:
- Con parámetros desde FactoryBot: Esto implica que estamos reutilizando las configuraciones existentes de nuestras fábricas para realizar las pruebas.
- Con parámetros desde cero: Se enfoca en crear una tarea completamente desde cero, configurando todos los campos necesarios manualmente.
¿Qué campos necesitamos para crear una task desde cero?
Al crear una task, es crucial conocer las validaciones impuestas por el modelo. Los campos básicos requeridos son:
name: El nombre de la tarea.description: Una descripción breve.due_date: Fecha de vencimiento que debe estar en el futuro para ser válida.code: Autogenerado al guardar la tarea.- Relación con
category: Categoría de la tarea. - Relación con
owner: Propietario de la tarea. - Al menos un
participant: Participante de la tarea.
Código de ejemplo para configurar los parámetros básicos:
let(:owner) { create(:user) }
let(:category) { create(:category) }
let(:participant_1) { build(:participant, :responsable) }
let(:participant_2) { build(:participant, :follower) }
let(:task) do
Task.new(
name: 'Mi Tarea',
description: 'Descripción',
due_date: Date.today + 5,
owner: owner,
category: category,
participants: [participant_1, participant_2]
)
end
¿Cómo verificar la validez de una tarea?
Una vez configurados todos los parámetros necesarios, es fundamental crear pruebas que verifiquen si la tarea es válida. Utilizar el método valid? dentro de un lenguaje de pruebas es eficiente para estos casos.
Para definir la prueba:
it 'is expected to be valid' do
expect(task).to be_valid
end
Mediante el uso de be_valid, evaluamos si nuestro objeto task cumple con todas las validaciones definidas en el modelo.
¿Cómo ejecutar las pruebas y verificar los resultados?
Para ejecutar todas las pruebas definidas, se usa el comando rspec. Una vez lanzado, podrás ver si las pruebas pasan y cumplen con las expectativas definidas.
rspec
Si las pruebas fueron exitosamente ejecutadas con resultados positivos, significa que nuestra configuración es correcta y reflejamos los requisitos del modelo Task.
Continuar mejorando tus habilidades en pruebas de modelos es esencial para el desarrollo robusto de aplicaciones, y cada pequeño avance cuenta para alcanzar un producto final de alta calidad. ¡Sigue adelante y sigue aprendiendo!