- 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
Validación y Pruebas de Modelos en Ruby on Rails
Clase 12 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 finalizar la prueba de un modelo utilizando validaciones?
En el desarrollo de software, garantizar que un modelo funcione correctamente es esencial. Las pruebas no solo aseguran la funcionalidad, sino que también validan la persistencia y propiedad del modelo. En esta clase, nos centramos en las pruebas de los modelos usando métodos y validaciones en Ruby on Rails.
¿Cómo crear un contexto anidado para grabar el modelo?
Para asegurarnos de que un modelo está correctamente grabado y validado, es fundamental crear un contexto específico. Un contexto anidado es una manera efectiva de separar diferentes escenarios de prueba.
- Utilizar
with Parance from Scratchpara definir un contexto. - Establecer el método
before Eachpara invocarsaveantes de cada prueba.
Ejemplo de código:
context 'with Parance from Scratch' do
before(:each) do
@task.save
end
end
¿Cómo asegurar que el modelo esté persistido y tenga un código precalculado?
Después de invocar save, es importante validar dos aspectos principales del modelo:
- Persistencia del modelo: Usar
be_persistedpara confirmar que el modelo está grabado. - Código precomputado: Verificar la existencia del código utilizando
be_present.
Código ejemplo:
expect(@task).to be_persisted
expect(@task.code).to be_present
¿Cómo crear una prueba cuando due date está en el pasado?
Un escenario común es verificar que las fechas pasadas no sean válidas para el modelo. Para esto, se puede crear un contexto específico y utilizar la función tap para modificar los atributos del modelo.
- Crear un nuevo contexto
with due date in the past. - Utilizar el método
tappara modificar directamente el atributodue_date.
Ejemplo de código:
context 'with due date in the past' do
before(:each) do
@task.tap do |t|
t.due_date = Date.today - 1
end
end
it 'is expected not to be valid' do
expect(@task).not_to be_valid
end
end
Ejecutar las pruebas y comprobar que fallan correctamente cuando la fecha es anterior a la actual, es un paso crucial para la verificación robusta de modelos. Las herramientas como rspec facilitan este proceso con comandos rápidos.
¿Cuál es el siguiente paso?
Ahora, habiendo cumplido con las validaciones necesarias y asegurando el correcto funcionamiento del modelo, se sugiere que pruebes aplicar las mismas técnicas a otros modelos como usuario. Los conceptos de persistencia, validación y modificación de atributos internos serán igualmente aplicables. A medida que avances, te encontrarás con peticiones HTTP las cuales cubriremos en la siguiente clase. Así que no te rindas, sigue adelante con curiosidad y determinación.