Prueba el comportamiento a través de la misma superficie que tiene un usuario: renderiza el componente, consulta por rol y nombre accesible, interactúa y comprueba lo que aparece. Cubre la lógica que puede romperse de verdad, como el renderizado condicional, los estados de error y de lista vacía, y los hooks personalizados. No pruebes detalles de implementación como el estado interno, el paso de props o que se llamó a un componente hijo; esos tests se rompen con cada refactor y no atrapan nada.
Por qué lo preguntan los entrevistadores
El entrevistador busca una filosofía de testing, no una lista de herramientas. Quiere oír el principio de comportamiento sobre implementación, límites sensatos entre unitario, integración y extremo a extremo, y una opinión sobre los mocks, porque los tests con demasiados mocks pasan mientras producción se rompe. Nombrar lo que te saltas suele ser más informativo que nombrar lo que cubres, porque demuestra que has mantenido una suite en el tiempo.
Cómo estructurar tu respuesta
- Enuncia el principio: prueba lo que el usuario puede observar.
- Describe brevemente tu estilo de consultas e interacciones.
- Di dónde pones el límite con los mocks, sobre todo con la red.
- Nombra lo que te saltas y por qué esos tests son un lastre.
Ejemplo de respuesta
Mi regla es que un test solo debería fallar cuando cambia el comportamiento visible para el usuario. Así que renderizo el componente con Testing Library, consulto por rol y nombre accesible, hago clic y escribo como lo haría una persona, y compruebo lo que hay en pantalla. Eso tiene un efecto secundario agradable: si no puedo consultarlo por rol, el marcado suele tener un problema de accesibilidad. Para la red intercepto a nivel HTTP en lugar de simular mi propia capa de datos, porque simular mi propio módulo significa que estoy probando mi mock. El mayor valor viene de la capa intermedia, una funcionalidad completa renderizada con sus hijos reales y un servidor falso, más que de un test por componente. Lo que no pruebo es el estado interno, que se haya llamado a un helper, archivos de snapshot de un árbol entero, ni los estilos. Todo eso se rompe con refactors inofensivos y pasa mientras algo está genuinamente roto. Luego un número pequeño de tests extremo a extremo cubre los flujos que el negocio no se puede permitir perder, como el registro y el pago, y ya está.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo pruebas un hook personalizado de forma aislada?
- ¿Dónde pones el límite entre un test de integración y uno extremo a extremo?
- ¿Cómo tratarías un test inestable que depende de tiempos?
Más preguntas para Desarrollador React
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas