11 puntos por xguru 2025-03-17 | Aún no hay comentarios. | Compartir por WhatsApp
  • NYT cambió su utilidad de pruebas de Enzyme a React Testing Library mientras actualizaba de React 16 a React 18
    • Habían usado Enzyme desde 2016, pero como la plataforma de React pasó a recomendar React Testing Library, la migración se volvió necesaria
  • Enzyme genera una representación en texto del árbol del DOM, mientras que React Testing Library crea el árbol real del DOM y lo renderiza como parte del DOM completo
  • Como había que migrar cientos de archivos, era importante mantener el tráfico del sitio y evitar interrupciones del servicio

Tres estrategias de migración

  • Enfoque Bulldozer
    • Método de modificar masivamente todos los archivos de una sola vez
    • Alto riesgo de conflictos de código y dificultad para colaborar
  • Enfoque Consensus
    • Método colaborativo en el que los ingenieros tienen propiedad sobre archivos individuales y avanzan en ellos
    • Adecuado para proyectos nuevos o proyectos importantes
  • Enfoque Piecemeal
    • Modificar archivos individuales de forma estratégica y gradual
    • Crear impulso progresivo con actualizaciones diarias consistentes

La elección de The New York Times: enfoque Piecemeal

  • Empezaron corrigiendo los archivos más simples → primero trabajaron en archivos que solo requerían cambiar una o dos líneas
  • Se enfocaron en cómo encontrar elementos del DOM y probarlos en React Testing Library
  • Una vez completadas las correcciones iniciales, pudieron extenderse gradualmente a pruebas más complejas
  • A medida que avanzó el trabajo, se fue formando un patrón constante que facilitó las correcciones
  • Como los ingenieros podían participar fácilmente, fue posible fortalecer la colaboración

Resultados y logros de la migración

  • El enfoque Piecemeal toma más tiempo, pero permite estabilidad y avance continuo
  • Se generó un patrón consistente en el codebase, lo que hizo más fácil resolver incluso pruebas complejas
  • Se creó un entorno en el que otros ingenieros podían participar y contribuir con facilidad
  • Durante la migración, se minimizaron los bugs y se evitaron interrupciones de funcionalidades
  • El éxito de la migración permitió equilibrar la resolución de deuda técnica con el desarrollo continuo

Conclusión

  • Con el enfoque Piecemeal, lograron migrar con éxito el codebase a React Testing Library
  • Las correcciones graduales fortalecieron la colaboración y mantuvieron la calidad del código
  • Incluso las pruebas complejas pudieron manejarse fácilmente siguiendo patrones consistentes
  • La migración se completó de forma estable gracias al equilibrio entre planificación estratégica y resolución de deuda técnica

Aún no hay comentarios.

Aún no hay comentarios.