Repolode
N4darae

N4darae/shrt

Un sistema de pruebas de regresión que reproduce cadenas de llamadas a API registradas en un backend y usa líneas base aprobadas por personas para detectar cambios entre versiones.

Estrellas
2,388
Forks
164
Issues abiertos
6
Último commit
hace 12 días

¿Qué es?

shrt prueba un backend mediante cadenas de llamadas a API definidas en YAML, como iniciar sesión, crear un elemento, añadir existencias y volver a consultarlo. Una persona aprueba una ejecución correcta como línea base, y las versiones posteriores se reproducen frente a ella. Si cambia un campo, shrt indica el paso, el campo y la escritura que considera responsable.

Un archivo de contrato describe qué debe cumplir cada RPC, de dónde proceden los valores, cómo rechaza las entradas incorrectas y cómo las escrituras modifican los campos numéricos. shrt puede generar cadenas a partir de ese contrato y probar valores límite, tokens ausentes o no válidos, IDs desconocidos y duplicados. Usa el protocolo Connect sobre HTTP POST, por lo que funciona con servidores creados con connect-go; no admite servidores que solo usen gRPC estándar. Gestiona RPCs unarios y de streaming del servidor, y lee los streams hasta el primer mensaje.

La herramienta está escrita en Go y necesita buf para compilar archivos .proto. Las credenciales se leen de variables de entorno y se redactan en los registros de ejecución. Solo envía solicitudes a localhost, salvo que el host de destino esté incluido en la configuración. Está diseñada para que la gestione un agente de programación, aunque todos los comandos también se pueden ejecutar manualmente.

Funciones clave

  • 01Las cadenas de llamadas a API se definen en archivos YAML y se reproducen con cada versión.
  • 02Las líneas base aprobadas por personas registran los campos de respuesta, incluidos aquellos que no comprueba ninguna aserción.
  • 03Un archivo de contrato puede generar cadenas de prueba que cubren valores límite, errores de autenticación y duplicados.
  • 04Los errores indican el paso, el campo modificado y la escritura que se considera responsable.
  • 05Las solicitudes se limitan a localhost o a hosts autorizados explícitamente para proteger los datos de producción.
  • 06Un comando de CI bloquea la integración si falla y devuelve un código de salida distinto de cero.

Casos de uso

  • Detectar regresiones en un backend de connect-go entre versiones.
  • Ejecutar comprobaciones de regresión de API en CI con cada nueva compilación.
  • Permitir que un agente de programación escriba y mantenga contratos de prueba de API bajo revisión humana.

Inicio rápido

  1. 1

    Instala buf (la herramienta de compilación de Protocol Buffers que shrt necesita en PATH)

  2. 2

    Instala shrt con Go 1.26 o posterior

    go install github.com/N4darae/shrt/cmd/shrt@latest
  3. 3

    Comprueba la versión instalada

    shrt version
  4. 4

    Configura shrt en tu proyecto de backend y compruébalo

    shrt init

Antes de usarlo

  • Requiere Go 1.26 o posterior y buf en PATH.
  • Solo funciona con servidores que usan el protocolo Connect, no con servidores que solo usan gRPC.
  • En las RPC de streaming, solo lee hasta el primer mensaje.
  • shrt init deduce qué RPC corresponde al inicio de sesión, por lo que debes comprobar el resultado.

En colecciones

Temas

#testing#api-testing#regression-testing#go#connect-rpc#grpc#ci-cd#ai-agent

Preguntas frecuentes

¿Qué es shrt?
Un sistema de pruebas de regresión que reproduce cadenas de llamadas a API registradas en un backend y usa líneas base aprobadas por personas para detectar cambios entre versiones. shrt prueba un backend mediante cadenas de llamadas a API definidas en YAML, como iniciar sesión, crear un elemento, añadir existencias y volver a consultarlo. Una persona aprueba una ejecución correcta como línea base, y las versiones posteriores se reproducen frente a ella. Si cambia un campo, shrt indica el paso, el campo y la escritura que considera responsable.
¿shrt es gratuito? ¿Qué licencia tiene?
shrt es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿shrt sigue mantenido?
Mantenimiento activo. El último commit de shrt fue el 26 oct 2026.
¿Para qué puedo usar shrt?
Detectar regresiones en un backend de connect-go entre versiones. Ejecutar comprobaciones de regresión de API en CI con cada nueva compilación. Permitir que un agente de programación escriba y mantenga contratos de prueba de API bajo revisión humana.
¿Cómo se instala shrt?
Instala buf (la herramienta de compilación de Protocol Buffers que shrt necesita en PATH) Instala shrt con Go 1.26 o posterior: go install github.com/N4darae/shrt/cmd/shrt@latest Comprueba la versión instalada: shrt version Configura shrt en tu proyecto de backend y compruébalo: shrt init
¿Dónde consigo shrt?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/N4darae/shrt

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

Proyectos relacionados