Volver a guías

Testing

Pruebas unitarias, de integración y end-to-end para código confiable

Por qué es importante

El testing no es opcional en aplicaciones profesionales. Te permite refactorizar con confianza, detectar regresiones antes de producción y documentar el comportamiento esperado de tu código.

Stack Recomendado

Stack completo de testing

Vitest para unit/integration tests (es compatible con Vite y muy rápido). Playwright para E2E tests - más confiable que Cypress en 2024.

Consejos de la Comunidad

Redditr/reactjs
"No testees implementación, testea comportamiento. Si tu test falla cuando cambias un nombre de variable interno, es un mal test."
LinkedInLinkedIn QA
"La pirámide de testing sigue siendo válida: muchos unit tests, algunos integration tests, pocos E2E tests."
Redditr/webdev
"Playwright > Cypress en 2024. Mejor soporte para múltiples tabs, iframes, y es más rápido en CI."

Mejores Prácticas

Nombra tests descriptivamente

"should display error when email is invalid" es mejor que "test email".

Usa data-testid

No dependas de clases CSS o estructura DOM. Usa atributos específicos para testing.

No uses timeouts fijos

Waiters dinámicos son más confiables. waitForSelector > sleep(1000).