Description
Tu suite de Cypress está toda en verde, así que lanzás, y el bug que escribiste el test para cazar se te mete igual en producción. Esa es la trampa: Cypress corre en el navegador al lado de tu app y reintenta los comandos solo, y eso hace que un test se sienta confiable justo hasta que falla una vez cada veinte corridas sin que nadie entienda por qué. Un selector se rompe porque alguien le cambió el nombre a una clase. Un test pasa solo y explota cuando corre después de otro. Una suite que mockea todo termina testeando sus propios stubs y no prueba nada. Entonces el equipo deja de creerle al rojo, aprende a re-correr hasta que da verde, y ahora la suite no cuida nada. Los comandos son fáciles; lo difícil es entender por qué Cypress reintentó ahí y no acá, elegir selectores que sobreviven un rediseño, y controlar la red y los datos para que un test arranque desde un lugar conocido, así cuando el build se pone rojo el equipo de verdad frena el merge.
Este libro te lleva de una suite inestable que todos aprendieron a ignorar a una suite de Cypress con la que un equipo bloquea un release. Arranca desde cómo funciona de verdad Cypress, su cola de comandos, el reintento automático, y por qué ese modelo a la vez previene y esconde la inestabilidad, para que dejes de pelear con la herramienta y empieces a usarla. Va a fondo en las dos cosas que deciden si un test es confiable: seleccionar elementos por lo que ve el usuario y por atributos data-cy estables en vez de CSS frágil, y esperar condiciones reales y respuestas de red en vez de pausas arbitrarias. Construye el oficio: escribir un test que refleja un recorrido real del usuario y afirma lo que el usuario vería, interceptar y stubbear la red con cy.intercept para llegar a los estados de error y de borde que no podés disparar en vivo, controlar la autenticación y sembrar datos para que cada test arranque desde un estado conocido, los comandos custom y la estructura estilo page object que mantienen un cambio de UI en un solo archivo, y el component testing para feedback rápido sobre un componente aislado. La mitad de confiabilidad es el corazón: cazar la inestabilidad hasta su raíz, aislar los tests para que pasen en cualquier orden, depurar con el runner que viaja en el tiempo, los snapshots y los videos, y enganchar la suite en CI para que controle los releases en vez de volverse eso que la gente saltea. Cierra con cuándo conviene Cypress frente a las alternativas y qué no testear de punta a punta. Cada ejemplo es una misma app real, mostrada primero como un test inestable y después como uno sólido. Para el ingeniero que quiere tests de navegador en los que la gente de verdad cree.
Quién debería leerlo
Este libro es para: ingenieros y QA automation engineers que necesitan testear una app web de punta a punta con Cypress y quieren una suite que caza bugs de verdad y se mantiene en verde por las razones correctas, no una pila inestable que todos aprenden a ignorar.
Con qué te vas a quedar
- Capítulo 1: La suite verde que dejó pasar el bug
- Capítulo 2: Por qué el código más obvio de Cypress está mal
- Capítulo 3: Cuando un rediseño rompe tests que no encontraron ningún bug
- Capítulo 4: Las esperas fijas te rompen el build en las dos direcciones
- Capítulo 5: Un test que se lee como la historia real de un usuario
- Capítulo 6: Probar la pantalla de error que no podés disparar a propósito
- Capítulo 7: La dirección guardada que desapareció de un día para el otro
- Capítulo 8: Las tres líneas copiadas en treinta y ocho archivos
- Capítulo 9: Veinte minutos para probar cincuenta líneas de código
- Capítulo 10: El test que falla una vez cada veinte
- Capítulo 11: Por qué un test que pasa explota cuando lo corrés solo
- Capítulo 12: Depurar una falla que no podés ver ocurrir
- Capítulo 13: Una suite en la que el equipo realmente confía


