
The Art Of Unit Testing, 2nd Edition
Michael Feathers, Robert C. Martin
- Editorial
- Manning
- Año
- 2014
- Páginas
- ~294
- Nivel
- Intermedio
De qué trata
Segunda edición del tratado clásico de Roy Osherove (con prólogos de Michael Feathers y Robert C. Martin), considerado uno de los textos fundacionales sobre la disciplina de las pruebas unitarias. Desarrollado con ejemplos en C# sobre el ecosistema .NET, el libro está concebido para programadores de nivel intermedio con conocimientos básicos de orientación a objetos que desean aprender a redactar pruebas automatizadas fiables, legibles y fáciles de mantener, trascendiendo las particularidades de cualquier lenguaje.
El texto establece con rigor los principios fundamentales del testing unitario frente al de integración, adoptando el framework NUnit y el patrón Arrange-Act-Assert (AAA) como base de trabajo. Enseña a distinguir con total claridad entre fakes, stubs y mock objects, profundizando en el uso práctico de herramientas de aislamiento como Moq, FakeItEasy, NSubstitute y Typemock Isolator. Explica patrones de diseño e inyección de dependencias para aislar sistemas de archivos, llamadas web y servicios externos, a la vez que examina detalladamente los tres pilares de una buena prueba: confiabilidad, mantenibilidad y legibilidad.
La parte práctica se articula en torno a la refactorización iterativa de clases dependientes de infraestructura (como analizadores de registros y verificadores de autenticación), mostrando cómo introducir pruebas en bases de código heredadas y cómo superar la resistencia cultural al testing en equipos de trabajo. Su principal contribución fue fijar un vocabulario común y unas directrices de diseño comprobable que siguen siendo plenamente vigentes. Aunque sus ejemplos técnicos reflejan la era de .NET Framework anterior a .NET Core, sus lecciones conceptuales sobre dobles de prueba, jerarquías de tests y prevención de pruebas frágiles conservan un valor pedagógico incalculable.
- Pruebas unitarias
- C#
- .NET
- NUnit
- Mocks y stubs
- NSubstitute
- Moq
- Inyección de dependencias
- Código legado
- Patrón AAA
- Refactorización
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

