Fundamentos del Testing en Python
¿Qué son las Pruebas Unitarias y por qué es importante?
¿Qué es el Testing en Software?
Instalación y Configuración del Entorno de Pruebas
Conceptos Básicos de Unittest
Cómo Crear Pruebas Unitarias con UnitTest en Python
Cómo usar el método setup en tests de Python
Uso de tearDown para limpieza de Pruebas Unitarias en Python
Cómo validar excepciones y estructuras de datos con Unittest en Python
Control de pruebas unitarias con unittest.skip en Python
Organización y Gestión de Pruebas
Cómo organizar y ejecutar pruebas en Python con UnitTest
Mejores prácticas para organizar y nombrar pruebas en Python
Técnicas Avanzadas en Pruebas Unitarias
Mocking de APIs externas en Python con unittest
Uso de Side Effects en Mocking con Python
Uso de Patching para Modificar Comportamientos en Python
Exploración de Herramientas y Métodos Complementarios
Cómo parametrizar pruebas en Python con SubTest
Documentación de pruebas unitarias con Doctest en Python
Cómo generar datos de prueba dinámicos con Faker en Python
Mejora y Automatización de Pruebas
¿Cómo asegurar la cobertura de pruebas con Coverage en Python
Automatización de Pruebas Unitarias en Python con GitHub Actions
Pruebas Unitarias con PyTest en Python
Cómo crear pruebas unitarias con inteligencia artificial en Python
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Luis Martínez
Cuando estamos desarrollando en Python, ejecutar todas las pruebas desde la terminal es común en entornos de desarrollo. Sin embargo, en producción o integración continua, este enfoque puede no ser ideal, especialmente cuando solo queremos ejecutar pruebas específicas o tener un mejor control sobre cómo organizamos y ejecutamos estas pruebas. Python y su módulo Unit Test nos ofrecen herramientas como las suites de pruebas para modularizar y seleccionar qué pruebas ejecutar.
Para ejecutar pruebas específicas, podemos usar el comando discover
del subcomando Unit Test. Este comando busca automáticamente todas las pruebas dentro de una carpeta y las agrupa en una suite. Sin embargo, este enfoque no es siempre ideal para entornos locales, donde podríamos querer ejecutar solo ciertas pruebas.
Una suite de pruebas es un grupo de pruebas que podemos ejecutar juntas. En proyectos pequeños, generalmente tenemos una sola suite, pero a medida que crece el proyecto, modularizar las pruebas por categorías o características es recomendable. Por ejemplo, podríamos tener una suite para pruebas de calculadora y otra para pruebas de banco.
Crear una suite manualmente:
test_suites.py
.UnitTest
y definimos una suite con suite = unittest.TestSuite()
.suite.addTest()
.Agregar pruebas específicas:
test_deposit
, podemos agregarla a la suite con suite.addTest(bankAccountTests('test_deposit'))
.Ejecutar las suites con un runner:
TextTestRunner
, que se usa comúnmente en la terminal.runner = unittest.TextTestRunner()
runner.run(suite)
Visual Studio Code facilita la ejecución de pruebas con su interfaz gráfica. Podemos configurar un runner y seleccionar qué pruebas ejecutar directamente desde el editor.
Configurar las pruebas en Visual Studio Code:
Ejecutar pruebas individuales:
Durante la ejecución de las pruebas, es común encontrarse con errores como “módulo no encontrado”. Estos errores se pueden solucionar asegurándonos de que las carpetas contienen archivos __init__.py
y configurando correctamente el PYTHONPATH
para que Python encuentre todos los módulos necesarios.
Podemos ejecutar una prueba específica directamente desde la terminal usando la siguiente estructura de comando:
python -m unittest test_calculator.CalculatorTest.test_sum
Esto ejecuta únicamente la prueba test_sum
de la clase CalculatorTest
.
Aportes 8
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?