
Test-Driven iOS Development with Swift
Dr. Dominik Hauser
- Editorial
- Packt
- Año
- 2016
- Páginas
- ~218
- Nivel
- Intermedio
De qué trata
Obra práctica dedicada a enseñar la metodología de Desarrollo Guiado por Pruebas (TDD) en el ecosistema móvil de Apple, utilizando Swift (versión 2.2 / primeros pasos hacia Swift 3) y Xcode 7. Está destinada a desarrolladores iOS de nivel intermedio que conocen las bases de UIKit y la sintaxis del lenguaje, pero desean elevar la calidad de sus aplicaciones, reducir defectos en producción y estructurar código limpio y mantenible mediante pruebas automatizadas escritas antes de la implementación.
El autor detalla la mecánica del ciclo Red-Green-Refactor aplicado a componentes reales de una aplicación iOS con el framework XCTest. Enseña a redactar aserciones precisas con XCTestCase, desacoplar la lógica de negocio mediante inyección de dependencias, diseñar modelos guiados por pruebas y testear controladores de vista (UIViewController) sin acoplarlos a la jerarquía de vistas. Además, aborda la verificación de operaciones asíncronas y consumo de red utilizando XCTestExpectation junto con dobles de prueba (mocks, stubs y fakes) para NSURLSession, así como la medición de cobertura de código (code coverage) en Xcode y conceptos fundamentales de integración continua.
El núcleo formativo del libro consiste en la creación completa y guiada de una aplicación de tareas pendientes ('ToDo'), donde se prueban e implementan desde los modelos de datos (ToDoItem, ItemManager) hasta la entrada de fechas, ubicación geográfica y sincronización con servicios web simulados. Su gran virtud es desmitificar la supuesta dificultad de aplicar TDD en UIKit, demostrando que es perfectamente viable y beneficioso; como contrapartida, se limita intencionadamente a la arquitectura MVC tradicional desacoplada, dejando de lado arquitecturas alternativas como MVVM o pruebas funcionales pesadas de interfaz (UI Testing).
- iOS
- Swift 2
- TDD
- XCTest
- Pruebas unitarias
- Mocks y Stubs
- Refactorización
- NSURLSession
- Inyección de dependencias
- Cobertura de código
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Aplicación ToDo con TDD
Gestor de tareas y recordatorios desarrollado de extremo a extremo aplicando el ciclo Red-Green-Refactor, incluyendo modelos (ToDoItem e ItemManager), vistas UIKit, captura de geolocalización y consumo de red simulado con mocks y stubs.

