En ciencias computacionales, llamamos pruebas al código que escribimos para probar otra parte del código, así mismo, llamamos pruebas unitarias a aquellas que están diseñadas para probar pedazos individuales de código.
Las pruebas unitarias nos ayudan en muchos aspectos, tales como:
- A la detección temprana de errores o bugs
- A escribir mejor código, motivándonos a dividir nuestra solución en problemas individuales para cada método o estructura de nuestro código
- A describir el problema que queremos resolver
- A asegurarnos que nuevos cambios, no introducen bugs en otras partes de la aplicación
- Entre otros
En Rails, es común que sigamos un flujo de código basado en una metodología de nombre TDD, Test Driven Development. TDD es una de muchas metodologías para escribir código de pruebas, por lo que no ahondaremos en el concepto, de éste rescataremos el flujo de pruebas que funciona de la siguiente manera.
- Escribimos una prueba para código que aún no existe. Ejemplo: Probar que podemos crear usuarios, antes de escribir el código para crear usuarios
- Corremos o ejecutamos la prueba para ver que falle
- Escribimos el código para la prueba. Ejemplo: Escribimos la funcionalidad para crear usuarios
- Volvemos a ejecutar la prueba para ver que pase
- Refactorizamos o mejoramos el código
- Volvemos a ejecutar la prueba para asegurarnos que siga pasando
Decimos que una prueba pasa, cuando la afirmación de la prueba se cumple, así mismo, decimos que una prueba falla cuando la afirmación de la prueba no se cumple.
Para escribir pruebas, Rails viene preconfigurado con un framework de pruebas: MiniTest. Aunque cubrir a fondo este framework requeriría un curso propio, vamos a aprender los fundamentos del uso y la sintaxis para la redacción de pruebas en nuestra aplicación, de esta manera nos aseguraremos de que el código funciona correctamente, sin tener que probarlo manualmente.
Un punto importante a considerar cuando hablamos de pruebas automatizadas, es que todos probamos el software que creamos, la única diferencia es que algunos lo prueban de manera manual poniéndolo en funcionamiento, y otros de manera automatizada con herramientas de pruebas automatizadas. Conforme va creciendo tu aplicación, es más complejo probar el código sin la intervención de herramientas de automatización, por lo que te recomiendo ampliamente dedicar tiempo a la implementación de pruebas desde el inicio de tu aplicación.
Continuemos.
-
check_circle_outlineMódulo 1 | 10 clases
Introducción al framework
expand_more -
check_circle_outlineMódulo 2 | 9 clases
Primeros pasos con Rails
expand_more -
check_circle_outlineMódulo 3 | 10 clases
Manejo de datos
expand_more-
done_all
Clase 1
Introducción al bloque
-
done_all
Clase 2
MIgraciones en Rails
-
done_all
Clase 3
Crear la base de datos y primer migración
-
done_all
Clase 4
ID y timestamps
-
done_all
Clase 5
Modelos
-
done_all
Clase 6
Pruebas unitarias
-
done_all
Clase 7
Primera prueba unitaria
-
done_all
Clase 8
Primera validación del modelo
-
done_all
Clase 9
El ActiveRecord
-
done_all
Clase 10
Acercamiento a las consultas
-
-
check_circle_outlineMódulo 4 | 6 clases
REST
expand_more -
check_circle_outlineMódulo 5 | 9 clases
Construye tu propio CRUD
expand_more -
check_circle_outlineMódulo 6 | 10 clases
Controladores y rutas
expand_more -
check_circle_outlineMódulo 7 | 18 clases
Modelos
expand_more -
check_circle_outlineMódulo 8 | 13 clases
Vistas y Formularios
expand_more -
check_circle_outlineMódulo 9.-
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-