# Tests: cómo demuestra tu agente que funciona

> Un test es una pequeña comprobación automática que tu agente de programación escribe y ejecuta dentro de tu proyecto para demostrar que una parte de tu app funciona como se espera, y para detectar cualquier cambio futuro que rompa por accidente algo que ya habías aprobado.

## Analogía

Piensa en los detectores de humo de una casa. No pulsas el botón de cada detector a mano todas las mañanas; una vez instalados, vigilan en silencio y dan la alarma en cuanto algo falla.

## Cómo funciona

Probar tu app haciendo clic en el navegador es imprescindible, pero a medida que el proyecto crece no recordarás volver a revisar cada pantalla tras cada cambio. Un test es código que comprueba tu código: envía datos conocidos a una función o página y verifica que el resultado coincide con lo que prometía tu spec.

Antes de que un pull-request esté listo para fusionarse, tu agente ejecuta tres capas de comprobaciones automáticas en la terminal. **Lint** (`npm run lint`) detecta fallos comunes de código; la **comprobación de tipos** (`npx tsc --noEmit`) verifica que las piezas de datos encajan entre archivos; y los **tests unitarios o de integración** (`npm test`) comprueban reglas y recorridos concretos.

Cuando aparece un bug y tu agente lo arregla durante la debugging, el trabajo no termina hasta que añade un **test de regresión**: un test nuevo que habría fallado antes del arreglo y que ahora pasa. Así, ese mismo fallo nunca puede volver en silencio.

## En tu proyecto

Al terminar cada tarea —y antes de abrir o fusionar un pull request—, tu agente ejecuta el lint, la comprobación de tipos y los tests, y te enseña un resumen corto de lo que ha pasado. Si algo falla, lee el resultado, corrige la causa y vuelve a pasar las comprobaciones antes de pedirte aprobación.

## Copia para tu agente

```text
Ejecuta ahora el lint, la comprobación de tipos y los tests en mi proyecto. Dime con palabras sencillas qué ha verificado cada comprobación y propón un test valioso que deberíamos añadir para nuestra función más importante.
```

---
Fuente: [Agentic Makers](https://agenticmakers.app/es/aprende/tests) · Licencia: CC BY 4.0
