Biblioteca de mocking de API para JavaScript que intercepta solicitudes de red en navegadores y Node.js, para que el código de la aplicación funcione sin cambios con respuestas simuladas en pruebas y desarrollo.
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
Jest es un framework de testing para JavaScript con aserciones, mocking, pruebas de snapshots y un modo watch interactivo integrados.
GoogleTest es el framework de testing y mocking de C++ de Google, con pruebas al estilo xUnit, aserciones completas y GoogleMock.
Kit de herramientas de testing para Go con aserciones, mocks y una estructura de suites compatible con el ejecutor estándar go test.
Un plugin de pytest que ejecuta pruebas en paralelo en varias CPU y añade un modo para repetir las que fallan.
Plugin de pytest que permite escribir funciones de prueba como corutinas y usar await directamente para probar código con asyncio.