</> CodeBooks
    ← Volver a JavaScript (página 1)
    Portada de Test-Driven JavaScript Development

    Test-Driven JavaScript Development

    Christian Johansen

    Editorial
    Addison Wesley
    Año
    2010
    Páginas
    ~525
    Nivel
    Intermedio

    De qué trata

    Guía de Christian Johansen sobre cómo aplicar el desarrollo guiado por pruebas (TDD) a JavaScript, tanto en el navegador como en el servidor con Node.js. Se publicó en 2010, en plena época de ECMAScript 5, Ajax y las primeras versiones de Node. Está dirigida a desarrolladores de nivel intermedio que trabajan en proyectos JavaScript grandes, y también a especialistas en QA y testers. Conviene conocer bien el lenguaje y tener experiencia en desarrollo web antes de abordarlo.

    Está dividido en cuatro partes. La primera presenta las pruebas automatizadas, el proceso de TDD, las herramientas de testing de la época (como JsTestDriver) y el uso de pruebas para aprender cómo funciona el propio lenguaje. La segunda es un repaso avanzado de JavaScript: funciones, closures, objetos y herencia prototípica, las novedades de ECMAScript 5, JavaScript no intrusivo y detección de características. La tercera aplica TDD a casos reales: el patrón Observer, una capa de Ajax que abstrae las diferencias entre navegadores, streaming de datos con Ajax y Comet, JavaScript en el servidor con Node.js y la manipulación del DOM. La cuarta trata patrones de prueba: mocks y stubs para probar unidades de forma aislada (el autor creó la librería Sinon.js) y consejos para escribir buenas pruebas unitarias.

    La parte práctica consiste en construir paso a paso, siempre con las pruebas por delante, una aplicación de chat completa: servidor en Node.js, transporte de datos en tiempo real con Comet y cliente en el navegador. Así se ve el ciclo de TDD aplicado de principio a fin. Los principios de diseño testeable, refactorización continua y uso de dobles de prueba siguen siendo muy valiosos. En cambio, las herramientas (JsTestDriver, el Node.js de 2010, Comet) están hoy obsoletas: frente a Jest, Vitest, módulos ES, promesas o WebSockets, habrá que trasladar las ideas al ecosistema actual.

    • TDD
    • Pruebas unitarias
    • JsTestDriver
    • Closures
    • Herencia prototípica
    • ECMAScript 5
    • Patrón Observer
    • Ajax y Comet
    • Node.js
    • DOM
    • Mocks y stubs
    • Refactorización

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Aplicación de chat en tiempo real

    Chat desarrollado íntegramente con TDD a lo largo de la tercera parte. El servidor está hecho con Node.js, los mensajes se transmiten con Ajax y Comet (long polling) y el cliente en el navegador se construye con manipulación del DOM probada mediante tests unitarios.

    Librería Observer y capa Ajax

    Componentes reutilizables desarrollados guiados por pruebas: una implementación del patrón Observer y una abstracción de Ajax que oculta las diferencias entre navegadores. Sirven de base para el chat.

    Más de JavaScript con nivel Intermedio