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
El uso de Doctest es una herramienta poderosa que te permite escribir pruebas directamente en la documentación del código, lo que facilita que otros desarrolladores comprendan y verifiquen los resultados esperados. Además de los Unit Tests tradicionales, Doctest permite que tus comentarios sean interactivos, ofreciendo ejemplos funcionales que se ejecutan dentro del código de Python. Veamos cómo puedes utilizarlo de manera eficiente.
Doctest es una librería que está incluida en Python y que permite crear pruebas en los comentarios del código. Esto lo hace práctico ya que puedes escribir pruebas de manera muy similar a una sesión interactiva de Python. Solo debes añadir los ejemplos dentro de los comentarios y ejecutarlos con el comando python -m doctest
.
Para escribir una prueba, simplemente crea un comentario que simule una sesión interactiva. Estas sesiones se caracterizan por comenzar con >>>
. Por ejemplo, si tienes una función de suma en tu clase Calculator
, podrías escribir lo siguiente:
>>> sum(5, 7)
12
Esto se ejecutará como si estuvieras en el shell de Python, y esperará que la salida sea 12
. Si el resultado no coincide con lo esperado, Doctest te notificará el error.
Si Doctest encuentra un error, revisa el mensaje de error y ajusta el código o la prueba según sea necesario. Por ejemplo, si ejecutas una prueba y esperabas 12
pero el resultado fue 11
, Doctest te informará de la discrepancia. Solucionas el error, corriges el comentario, y ejecutas nuevamente.
Doctest también te permite probar excepciones. Si tienes una función que lanza un ValueError
al intentar dividir por cero, puedes capturar este comportamiento en el comentario:
>>> divide(10, 0)
Traceback (most recent call last):
...
ValueError: División por 0 no permitida
Este tipo de pruebas asegura que las excepciones se manejen correctamente y ayuda a otros desarrolladores a entender los casos de error.
La documentación clara es clave en cualquier proyecto de software, y Doctest facilita agregar ejemplos en el código que no solo explican cómo usar las funciones, sino que además se prueban automáticamente. Esto garantiza que la documentación esté siempre alineada con el comportamiento real del código.
El reto de este enfoque es agregar suficiente documentación con ejemplos ejecutables que cubran todos los casos, incluyendo los casos de borde, como divisiones por cero o parámetros inválidos. Este proceso no solo mejora la calidad del código, sino también la de la documentación, haciéndola más útil para todo el equipo.
Aportes 2
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?