¡Felicidades, has llegado al final del Calendario de Adviento Odoo! Este último día es el más importante para tu carrera: los Tests Unitarios.
Un desarrollador Odoo no solo escribe código que funciona, sino código que puede demostrar que funciona y que puede seguir funcionando después de que otros desarrolladores lo modifiquen. Este seguro de calidad se consigue con las pruebas.
¿Qué hemos cubierto en el Día 24?
Hemos creado el directorio tests, el archivo Python necesario y hemos escrito un test simple que valida la lógica de negocio de un campo calculado o un botón.
Los componentes clave que hemos cubierto son:
1. La Filosofía del Testing
- Garantía: Los tests unitarios prueban pequeñas unidades de código (un método, un botón, una restricción) para asegurar que se comportan como se espera.
- Regresión: Son una red de seguridad contra regresiones. Si el código deja de funcionar debido a un cambio externo o una actualización, el test fallará y te avisará.
2. Estructura y Clase Base
- Directorio: Las pruebas se ubican en el subdirectorio tests/ de tu módulo.
- Herencia: Casi siempre se hereda de odoo.tests.common.TransactionCase. Esta clase se encarga de crear un entorno de base de datos limpio para cada test, que se revierte al finalizar.
3. Escribiendo el Test
Un método de prueba debe:
- Preparar el entorno (Setup): Crear los registros necesarios (ej. un usuario, un cliente, un registro de tarea) que el código necesita para ejecutarse.
- Ejecutar la Acción (Action): Llamar al método Python o simular una acción (create, write, record.mi_metodo()).
- Verificar (Assert): Usar los métodos self.assertEqual(), self.assertTrue(), etc., para comprobar que el resultado del campo o la acción es el valor esperado.
- Ejemplo de Assert: self.assertEqual(registro.campo_calculado, 100, «El valor calculado no es 100.»)
El Salto al Desarrollo Profesional
La integración continua y la calidad del código son imposibles sin pruebas. Las empresas que mantienen módulos críticos de Odoo exigen una alta cobertura de tests.
Explicación Detallada en Vídeo
En el vídeo, te muestro cómo configurar tu entorno de prueba, la sintaxis de un método setUp para preparar los datos iniciales y cómo ejecutar los tests desde la terminal de Odoo.
Código Fuente en GitLab
Puedes consultar el código fuente completo de esta lección, con el primer test unitario funcional, directamente en nuestro repositorio.
➡️ Ver el Código en GitLab: https://github.com/angelmoya/calendario-adviento-curso-tecnico-odoo-19/tree/f9b396118e751074a48f2d1f9278f912d358cf69
Conecta Conmigo y Sigue Aprendiendo
¡Ha sido un honor guiarte en este viaje! Este es solo el comienzo.
- LinkedIn: Conecta conmigo en LinkedIn
- YouTube: ¡Ahora a repasar y crear tus propios módulos! http://www.youtube.com/@AngelMoya-Odoo