Repolode
kevin1024

kevin1024/vcrpy

Una biblioteca de Python que graba las interacciones HTTP durante las pruebas y las reproduce después para que se ejecuten sin conexión y de forma determinista.

Estrellas
3,023
Forks
448
Issues abiertos
32
Último commit
hace 4 días

¿Qué es?

VCR.py es una adaptación a Python de la biblioteca VCR de Ruby. Envuelve una prueba o una ruta de código con un administrador de contexto o un decorador; en la primera ejecución, registra en un archivo plano llamado cassette todas las interacciones HTTP realizadas mediante las bibliotecas compatibles. De forma predeterminada, los datos se serializan en YAML. En las ejecuciones posteriores, lee el cassette y devuelve las respuestas registradas para las solicitudes coincidentes, en lugar de acceder a la red.

Así se elimina la dependencia de servidores activos: las pruebas pueden ejecutarse sin conexión, dar siempre los mismos resultados y terminar más rápido. Si cambia una API remota, basta con eliminar el cassette y volver a ejecutar las pruebas para grabar de nuevo las interacciones según el comportamiento actualizado. La biblioteca complementaria pytest-recording ofrece fixtures de pytest para trabajar con VCR.py.

Funciones clave

  • 01Registra solicitudes y respuestas HTTP en archivos cassette con formato YAML de forma predeterminada
  • 02Reproduce las respuestas registradas para que las pruebas no generen tráfico de red real
  • 03Funciona como administrador de contexto o decorador alrededor del código de prueba
  • 04Permite ejecutar pruebas sin conexión y de forma determinista
  • 05Se integra con pytest-recording para usar fixtures de pytest

Casos de uso

  • Ejecutar pruebas de clientes de API sin acceso a la red ni a un servidor de staging activo
  • Hacer que las suites de pruebas sean deterministas al eliminar respuestas externas inestables
  • Acelerar CI reproduciendo llamadas HTTP grabadas anteriormente
  • Actualizar las respuestas de API grabadas cuando cambia un servicio remoto

En colecciones

Temas

Preguntas frecuentes

¿Qué es vcrpy?
Una biblioteca de Python que graba las interacciones HTTP durante las pruebas y las reproduce después para que se ejecuten sin conexión y de forma determinista. VCR.py es una adaptación a Python de la biblioteca VCR de Ruby. Envuelve una prueba o una ruta de código con un administrador de contexto o un decorador; en la primera ejecución, registra en un archivo plano llamado cassette todas las interacciones HTTP realizadas mediante las bibliotecas compatibles. De forma predeterminada, los datos se serializan en YAML. En las ejecuciones posteriores, lee el cassette y devuelve las respuestas registradas para las solicitudes coincidentes, en lugar de acceder a la red.
¿vcrpy es gratuito? ¿Qué licencia tiene?
vcrpy es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿vcrpy sigue mantenido?
Mantenimiento activo. El último commit de vcrpy fue el 3 nov 2026.
¿Para qué puedo usar vcrpy?
Ejecutar pruebas de clientes de API sin acceso a la red ni a un servidor de staging activo Hacer que las suites de pruebas sean deterministas al eliminar respuestas externas inestables Acelerar CI reproduciendo llamadas HTTP grabadas anteriormente Actualizar las respuestas de API grabadas cuando cambia un servicio remoto
¿Dónde consigo vcrpy?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kevin1024/vcrpy

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados