Café y Código

1. Introducción y pytest

¿Por qué testear código Python?

Escribir tests automatizados es documentar el comportamiento esperado y obtener una red de seguridad cada vez que cambias el código. En Python, el ecosistema más usado para esto es pytest: descubre tests por convención, muestra fallos legibles y se integra con plugins (cobertura, asyncio, etc.).

Pirámide de pruebas (idea rápida)

  • Base: muchas pruebas unitarias (rápidas, sin red ni disco si se puede).
  • Medio: pruebas de integración (varios módulos juntos, APIs reales o de prueba).
  • Cima: pocos end-to-end (flujo completo; más lentos y frágiles).

Este curso se centra sobre todo en la base: unidades aisladas y buenas prácticas con pytest.

Instalación

En un entorno virtual (recomendado):

Terminal
BASH
1 python -m venv .venv
2 # Windows: .venv\Scripts\activate
3 # macOS/Linux: source .venv/bin/activate
4 pip install pytest

Tu primer test

Guardá algo como test_suma.py y ejecutá pytest en esa carpeta:

test_suma.py
PYTHON
1 def suma(a, b):
2 return a + b
3
4 def test_suma_basica():
5 assert suma(2, 3) == 5

La función de test empieza por test_ y usa assert. Si la condición es falsa, pytest marca el test en rojo y muestra el valor obtenido.

Ejercicio 1

Misión: Saludo estable

Creá saludo(nombre) que devuelva f"Hola, {nombre}" y un test test_saludo que compruebe el resultado para "Ana".

Ver solución propuesta
test_saludo.py
PYTHON
1 def saludo(nombre: str) -> str:
2 return f"Hola, {nombre}"
3
4 def test_saludo():
5 assert saludo("Ana") == "Hola, Ana"

Ejercicio 2

Misión: Fallo explícito

Escribí un test que use assert para comprobar que bool([]) es False.

Ver solución propuesta
PYTHON
1 def test_lista_vacia_es_falsy():
2 assert bool([]) is False

Ponte a prueba

Comprobá que tenés claro el rol de pytest y las convenciones básicas.

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