
Test-Driven iOS Development
Graham Lee
- Editorial
- Addison Wesley
- Año
- 2012
- Páginas
- ~256
- Nivel
- Básico
De qué trata
Guía especializada escrita por Graham Lee que traslada la metodología de desarrollo guiado por pruebas (Test-Driven Development) al entorno móvil de iOS 5 con Xcode 4 y Objective-C. Está concebida para desarrolladores de iOS con conocimientos previos del lenguaje y de los conceptos básicos del SDK que buscan mejorar drásticamente la calidad, mantenibilidad y modularidad de sus aplicaciones mediante la creación de pruebas unitarias sistemáticas.
El autor enseña la mecánica del ciclo Red-Green-Refactor utilizando la herramienta de pruebas integrada en Xcode, OCUnit (SenTestingKit). Detalla cómo diseñar código desacoplado mediante inversión de dependencias y contratos por interfaces (protocolos), la construcción y utilización de dobles de prueba (test doubles, stubs y mocks) con apoyo de OCMock, la verificación aislada de modelos de dominio y el tratamiento de componentes críticos en iOS: análisis de respuestas JSON, peticiones de red asíncronas con NSURLConnection y la lógica de controladores de vista (UIViewController y delegados de UITableView). El libro concluye con estrategias para introducir pruebas en proyectos heredados (legacy code) y una introducción al enfoque Behavior-Driven Development (BDD).
Todo el aprendizaje se apoya en el desarrollo paso a paso de una aplicación cliente real, BrowseOverflow, construida de principio a fin escribiendo primero los casos de prueba antes que cualquier línea de lógica de negocio o interfaz. Su mayor valor reside en enseñar cómo pensar en la arquitectura del software desde la perspectiva del testing, promoviendo componentes desacoplados y fácilmente testeables. Aunque el framework OCUnit fue reemplazado posteriormente por XCTest y el lenguaje evolucionó hacia Swift, los principios de aislamiento, simulación de red y refactorización que explica Lee continúan siendo una lección magistral de ingeniería de software móvil.
- TDD (Test-Driven Development)
- OCUnit
- Pruebas unitarias
- Objective-C
- Xcode 4
- Mocks y Stubs
- Inyección de dependencias
- Networking asíncrono
- Parsing JSON
- Refactorización
- iOS 5
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
BrowseOverflow
Cliente móvil para la API REST de Stack Overflow diseñado íntegramente bajo TDD con OCUnit, cubriendo paso a paso la verificación de modelos de datos, consumo de red HTTP asíncrono, deserialización JSON y controladores de vista desacoplados.

