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
"No testees implementación, testea comportamiento. Si tu test falla cuando cambias un nombre de variable interno, es un mal test."
LinkedIn QA"La pirámide de testing sigue siendo válida: muchos unit tests, algunos integration tests, pocos E2E tests."
"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).