Skip to content

Latest commit

 

History

History
210 lines (138 loc) · 13.5 KB

READMEes-Es.md

File metadata and controls

210 lines (138 loc) · 13.5 KB

keploy logo

⚡️ Backend tests faster than unit-tests, from user traffic ⚡️

🌟 The must-have tool for developers in the AI-Gen era 🌟

🎤 Presentando Keploy 🐰

Keploy es una herramienta de prueba de backend centrada en el desarrollador. Realiza pruebas de backend con mocks incorporados, más rápido que las pruebas unitarias, a partir del tráfico del usuario, lo que lo hace fácil de usar, potente y extensible. 🛠

¿Listo para la magia? Aquí están las características principales de Keploy:

  • ♻️ Cobertura de prueba combinada: Fusiona tus pruebas de Keploy con tus bibliotecas de pruebas favoritas (junit, go-test, py-test, jest) para ver una cobertura de prueba combinada.

  • 🤖 Instrumentación EBPF: Keploy utiliza EBPF como un ingrediente secreto para hacer que la integración sea sin código, independiente del lenguaje y muy ligera.

  • 🌐 Integración CI/CD: Ejecuta pruebas con mocks donde quieras, ya sea localmente en la CLI, en tu canal de integración continua o incluso en un clúster de Kubernetes. ¡Es prueba donde la necesitas!

  • 🎭 Mocks multipropósito: Úsalos en pruebas existentes, como pruebas de servidor o simplemente para impresionar a tus amigos.

  • 📽️ Grabación y reproducción de flujos complejos: Keploy puede grabar y reproducir flujos de API complejos y distribuidos como mocks y stubs. Es como tener una máquina del tiempo para tus pruebas, ¡ahorrándote mucho tiempo!

Generar caso de prueba a partir de una llamada API

🐰 Dato curioso: ¡Keploy se utiliza a sí mismo para realizar pruebas! Echa un vistazo a nuestra elegante insignia de cobertura: Estado de cobertura  

🌐 Soporte de idiomas

Desde el gopher de Go 🐹 hasta la serpiente de Python 🐍, ofrecemos soporte para:

Go Java NodeJS Python

🎩 ¿Cómo funciona la magia?

Nuestro mágico 🧙‍♂️ proxy de Keploy captura y reproduce TODAS las interacciones de red de tu aplicación (operaciones CRUD, incluyendo APIs no idempotentes).

Realiza un viaje a ¿Cómo funciona Keploy? para descubrir los trucos detrás del telón.

Generar caso de prueba a partir de una llamada API

📘 ¡Aprende más!

Conviértete en un profesional de Keploy con nuestra Documentación.

Instalación rápida

Usando Binario ( Linux / WSL)

Keploy se puede utilizar en Linux nativamente y a través de WSL en Windows.

Descarga el binario de Keploy.

curl --silent --location "https://github.com/keploy/keploy/releases/latest/download/keploy_linux_amd64.tar.gz" | tar xz -C /tmp

sudo mkdir -p /usr/local/bin && sudo mv /tmp/keploy /usr/local/bin && keploy

<details>
<summary> <strong> Arquitectura ARM </strong> </summary>
curl --silent --location "https://github.com/keploy/keploy/releases/latest/download/keploy_linux_arm64.tar.gz" | tar xz -C /tmp

sudo mkdir-p /usr/local/bin && sudo mv /tmp/keploy /usr/local/bin && keploy
</details>

### Captura de casos de prueba
Para iniciar la grabación de llamadas a la API, ejecuta este comando en tu terminal donde normalmente ejecutas tu aplicación. Si necesitas configurar variables de entorno, hazlo de la manera habitual:

```zsh
sudo -E env PATH=$PATH keploy record -c "CMD_PARA_EJECUTAR_LA_APP"

Por ejemplo, si estás utilizando un programa sencillo de Golang, el comando se vería así:

sudo -E env PATH=$PATH keploy record -c "CMD_PARA_EJECUTAR_LA_APP"

Ejecución de casos de prueba

Para ejecutar los casos de prueba y generar un informe de cobertura de pruebas, utiliza este comando en la terminal donde normalmente ejecutas tu aplicación. Si necesitas configurar variables de entorno, hazlo de la manera habitual:

sudo -E env PATH=$PATH keploy test -c "CMD_PARA_EJECUTAR_LA_APP" --delay 10

Por ejemplo, si estás utilizando un framework de Golang, el comando sería:

sudo -E env PATH=$PATH keploy test -c "go run main.go" --delay 10

Instalación de Docker

Keploy se puede utilizar en Linux y Windows a través de Docker.

️ Nota: MacOS necesitan instalar Colima. Usuarios de Windows necesitan installar WSL.

Creación de alias

Creemos un alias para Keploy:

alias keploy='sudo docker run --pull always --name keploy-v2 -p 16789:16789 --privileged --pid=host -it -v "$(pwd)":/files -v /sys/fs/cgroup:/sys/fs/cgroup -v /sys/kernel/debug:/sys/kernel/debug -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/keploy/keploy'

Grabación de Casos de Prueba y Datos Simulados

Aquí tienes algunos puntos a considerar antes de la grabación:

  • Si estás ejecutando mediante docker-compose, asegúrate de incluir el <NOMBRE_DEL_CONTENEDOR> en el servicio de tu aplicación en el archivo docker-compose.yaml como se muestra aquí.
  • Debes ejecutar los contenedores en una red, si no es así, asegúrate de que todos tus contenedores estén en la misma red con la propiedad externa activada - como se muestra aquí. Reemplaza el nombre de la red (bandera --network) por tu red personalizada si la cambiaste anteriormente, como la red en el ejemplo dado.
  • Docker_CMD_to_run_user_container se refiere al comando de Docker para iniciar la aplicación.

Utiliza el alias de keploy que creamos para capturar casos de prueba. Ejecuta el siguiente comando dentro del directorio raíz de tu aplicación.

keploy record -c "Docker_CMD_to_run_user_container --network <network_name>" --containerName "<container_name>"

Realiza llamadas API utilizando herramientas como Hoppscotch, Postman o comandos cURL.

Keploy capturará las llamadas API que hayas realizado, generando suites de pruebas que comprenden casos de prueba (KTests) y simulaciones de datos (KMocks) en formato YAML.

Ejecución de Casos de Prueba

Ahora, utiliza el alias keployV2 que creamos para ejecutar los casos de prueba. Sigue estos pasos en el directorio raíz de tu aplicación.

Cuando utilices docker-compose para iniciar la aplicación, es importante asegurarse de que el parámetro --containerName coincida con el nombre del contenedor en tu archivo docker-compose.yaml.

keploy test -c "Docker_CMD_to_run_user_container --network <network_name>" --containerName "<container_name>" --delay 20

🤔 Preguntas?

¡Contáctanos! Estamos aquí para ayudarte.

Slack LinkedIn YouTube Twitter

💖 ¡Construyamos Juntos!

Ya seas un principiante o un mago 🧙‍♀️ en la programación, tu perspectiva es valiosa. Echa un vistazo a nuestras:

📜 Directrices de Contribución

❤️ Código de Conducta

🌟 Características

🚀 Exporta, mantiene y muestra pruebas y simulaciones!

Genera Casos de Prueba desde Llamadas API

🤝 Saluda a los populares frameworks de pruebas - Go-Test, JUnit, Py-Test, Jest y más!

Genera Casos de Prueba desde Llamadas API

🕵️ Detecta ruido con precisión de cirujano!

Filtra campos ruidosos en las respuestas de las API como (marcas de tiempo, valores aleatorios) para asegurar pruebas de alta calidad.

📊 ¡Saluda a una mayor cobertura!

Keploy se asegura de que no se generen casos de prueba redundantes.

🐲 Los Desafíos que Enfrentamos!

  • Pruebas Unitarias: Aunque Keploy está diseñado para funcionar junto con los marcos de pruebas unitarias (Go test, JUnit, etc.) y puede contribuir a la cobertura de código general, todavía genera pruebas de extremo a extremo (E2E).
  • Entornos de Producción: Keploy actualmente se centra en generar pruebas para desarrolladores. Estas pruebas se pueden capturar desde cualquier entorno, pero no las hemos probado en entornos de producción de alto volumen. Esto requeriría una sólida deduplicación para evitar la captura de pruebas redundantes en exceso. Tenemos ideas para construir un sistema de deduplicación sólido #27

✨ Recursos!

🤔 Preguntas Frecuentes

🕵️‍️ ¿Por Qué Keploy?

⚙️ Guía de Instalación

📖 Guía de Contribución

🌟 Salón de Contribuyentes

contribuyentes

Premios Disponibles

Nombre Icono Descripción
Creador de Documentos icono-de-docs ¡Premiado por ayudar a mejorar la documentación de Keploy!
Cada Bit Cuenta icono-de-commit ¡Ningún commit es demasiado pequeño!
Héroe de Solicitudes de Extracción icono-de-PR-hero ¡Eres un héroe de solicitudes de extracción, sigue así!
Cercano icono-de-closer ¡Solo los cercanos consiguen café!