El cliente de pruebas y los fixtures
Inicie una aplicación y un cliente para las pruebas.
El cliente de pruebas y los fixtures es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Por qué probar su aplicación Flask
Las pruebas le permiten cambiar el código sin miedo. Con pytest puede demostrar en segundos que todas las rutas siguen funcionando, en lugar de recorrer la aplicación manualmente. 🧪
Conocer el cliente de pruebas
Flask incluye un navegador simulado llamado test client. Llama a sus rutas en memoria, sin ningún servidor real ni conexión de red.
client = app.test_client()
resp = client.get('/')Obtener un cliente de la aplicación
Cree el cliente llamando a app.test_client(). Devuelve un objeto cuyos métodos reflejan verbos HTTP reales como get y post.
from app import app
client = app.test_client()Enviar una solicitud y obtener una respuesta
Al llamar a client.get('/') se devuelve un objeto de respuesta. Puede inspeccionarlo como uno real, pero todo se ejecuta al instante dentro de Python.
resp = client.get('/')
print(resp.status_code)Qué es un fixture
Un fixture es código de configuración reutilizable que pytest ejecuta antes de una prueba. En lugar de reconstruir el cliente en todas partes, lo define una vez y lo reutiliza.
Escribir un fixture de cliente
Decore una función con @pytest.fixture y use yield para proporcionar un cliente de pruebas. Cualquier prueba que lo indique como argumento recibe un cliente nuevo.
@pytest.fixture
def client():
yield app.test_client()Solicitar el fixture por nombre
Para usar un fixture, solo tiene que añadir su nombre como test argument. Pytest detecta la coincidencia e inyecta el valor automáticamente.
def test_home(client):
resp = client.get('/')
assert resp.status_code == 200Yield frente a Return en fixtures
Usar yield permite ejecutar tareas de limpieza después de que termine la prueba. El código anterior a yield prepara el entorno; el posterior lo desmantela.
@pytest.fixture
def client():
yield app.test_client()
print('cleanup here')Dónde colocar los fixtures
Coloque los fixtures compartidos en un archivo llamado conftest.py. Pytest lo encuentra automáticamente, por lo que todos los archivos de pruebas pueden usar esos fixtures sin importarlos.
Nombrar los archivos de pruebas
Pytest detecta los archivos que comienzan por test_ y las funciones con nombres del mismo patrón. Siga esa convención y podrá ejecutar las pruebas con un solo comando.
# file: test_routes.py
def test_home(client):
...Ejecutar toda la suite
Desde la raíz del proyecto, ejecute pytest en el terminal. Recopilará todos los archivos de pruebas, los ejecutará y mostrará un resumen claro de los resultados.
$ pytest
2 passed in 0.04sComprobación rápida
Quiere un cliente de pruebas reutilizable. ¿Cómo lo consigue?
Resumen: cliente y fixtures
Ya conoció el cliente de pruebas en memoria y aprendió a compartirlo mediante un fixture en conftest.py. Ahora todas las pruebas comienzan con un cliente listo para usar. 🎉
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «El cliente de pruebas y los fixtures» es gratis?
Sí — el texto completo de «El cliente de pruebas y los fixtures» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El cliente de pruebas y los fixtures»?
Inicie una aplicación y un cliente para las pruebas. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «El cliente de pruebas y los fixtures»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El cliente de pruebas y los fixtures
- Compruebe rutas y JSON
- Aísle las pruebas con una base de datos de prueba
- Pruebe endpoints autenticados