Parametrización de pruebas con SubTest en UnitTest
Clase 14 de 20 • Curso de Unit Testing en Python
Contenido del curso
Conceptos Básicos de Unittest
- 4

Pruebas Unitarias con Python: Métodos Setup y Teardown
05:22 min - 5

Pruebas Unitarias con Método Setup en Python
09:40 min - 6

Pruebas de Registro de Transacciones en Cuentas Bancarias
12:53 min - 7

Métodos de Assert en UnitTest para Pruebas Efectivas
13:38 min - 8

Decoradores de Unit Test para Saltar Pruebas y Detectar Fallos
09:15 min
Organización y Gestión de Pruebas
Técnicas Avanzadas en Pruebas Unitarias
Exploración de Herramientas y Métodos Complementarios
Mejora y Automatización de Pruebas
El uso de SubTest en UnitTest te permite optimizar tus pruebas evitando la duplicación de código. Imagina que necesitas probar un método con varios valores diferentes. Sin SubTest, tendrías que crear varias pruebas casi idénticas, lo que resulta ineficiente. SubTest permite parametrizar pruebas, lo que significa que puedes ejecutar la misma prueba con diferentes valores sin repetir el código.
¿Cómo evitar la duplicación de pruebas con SubTest?
Al utilizar SubTest, puedes definir todos los valores que deseas probar en una lista o diccionario. Luego, iteras sobre estos valores mediante un bucle for, ejecutando la misma prueba con cada conjunto de parámetros. Así, si es necesario modificar la prueba, solo tienes que hacer cambios en un único lugar.
¿Cómo implementar SubTest en un caso práctico?
Para ilustrarlo, se puede crear una prueba llamada test_deposit_various_values. En lugar de duplicar la prueba con diferentes valores de depósito, utilizas un diccionario que contiene los valores a probar y el resultado esperado. Después, recorres estos valores con SubTest usando la estructura with self.subTest(case=case) y ejecutas la prueba para cada valor del diccionario. Esto asegura que cada prueba sea independiente y evita sumar valores a la cuenta de manera incorrecta.
¿Cómo gestionar errores con SubTest?
SubTest también es útil para identificar errores específicos. Si una prueba falla con un conjunto particular de parámetros, SubTest te permite ver fácilmente qué valores causaron el fallo. Esto facilita mucho la corrección de errores, ya que puedes aislar rápidamente los casos problemáticos y corregirlos de manera eficiente.