Café y Código

9. Cobertura

¿Qué mide la cobertura?

Herramientas como coverage.py (a menudo vía pytest-cov) indican qué líneas o ramas ejecutaron tus tests. Es una guía, no una prueba de ausencia de bugs: podés tener 100% de líneas y seguir sin probar casos límite importantes.

Comando típico

Terminal
BASH
1 pip install pytest pytest-cov
2 pytest --cov=mi_paquete --cov-report=term-missing

Reemplazá mi_paquete por el nombre del paquete o carpeta fuente que querés medir.

Buenas prácticas

  • Perseguir cobertura sin calidad de asserts genera tests frágiles o inútiles.
  • Revisá ramas if/else no cubiertas: suelen esconder errores silenciosos.
  • En CI, combiná umbral razonable con revisión humana.

Ejercicio 1

Explicá por qué “100% coverage” no implica software libre de defectos.

Ver idea guía

Solo indica que el código fue ejecutado; no valida que los asserts cubran reglas de negocio, datos extremos o concurrencia.

Ejercicio 2

En un proyecto local, ejecutá pytest --cov en un paquete pequeño y leé la sección “missing” del informe.

Ver idea guía

Anotá qué líneas faltan: ¿son ramas de error, código muerto o casos que deberías testear?

Ponte a prueba

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.