Pruebas de PHP en el mundo real
176 páginas
Spanish
PDF
4.5

Pruebas de PHP en el mundo real

Pruebas de PHP en el mundo real

Autor:

Año:

Resumen:

Introducción

El libro «Real-World PHP Testing» (2018) de Chris Hartjes no es un manual seco más sobre PHPUnit, sino una guía práctica escrita por un desarrollador con años de experiencia. Hartjes es conocido en la comunidad PHP como un activo promotor de las pruebas y autor del popular podcast PHP Town Hall. En este libro, comparte técnicas y enfoques reales que le ayudarán a implementar pruebas en el desarrollo diario, incluso si trabaja con código heredado.

De qué trata el libro

El libro consta de 12 capítulos que cubren todas las etapas de las pruebas de aplicaciones PHP, desde conceptos básicos hasta técnicas avanzadas. El autor no solo explica cómo escribir pruebas, sino que también muestra cómo integrarlas en el proceso de desarrollo para que aporten un valor real, en lugar de convertirse en una formalidad. El enfoque principal está en las pruebas unitarias, pero también se abordan las pruebas de integración, las pruebas de bases de datos, las solicitudes HTTP y el trabajo con API externas.

Para quién es este libro

El libro está dirigido a desarrolladores PHP que ya tienen conocimientos básicos del lenguaje y desean mejorar la calidad de su código. Será útil tanto para principiantes que recién comienzan a familiarizarse con las pruebas, como para programadores experimentados que deseen ordenar sus conocimientos y aprender nuevas técnicas. Lo recomiendo especialmente a quienes trabajan con código heredado: Hartjes dedica mucha atención a las estrategias de prueba para sistemas heredados.

Qué aprenderá el lector

  • Fundamentos de las pruebas: diferencia entre pruebas unitarias, de integración y funcionales, principios FIRST (Fast, Isolated, Repeatable, Self-validating, Timely).
  • PHPUnit: instalación, configuración, escritura de clases de prueba, uso de aserciones (assertions), data providers, inyección de dependencias en pruebas.
  • Objetos mock y stubs: creación de dobles de prueba con PHPUnit y la librería Mockery, prueba de dependencias complejas.
  • Pruebas de bases de datos: estrategias para trabajar con bases de datos de prueba, fixtures, transacciones, prueba de consultas y modelos.
  • Pruebas de HTTP y API: emulación de solicitudes HTTP, prueba de controladores REST, trabajo con Guzzle y otros clientes HTTP.
  • Pruebas de código heredado: refactorización para pruebas, extracción de dependencias, uso de patrones seam.
  • CI/CD y automatización: integración de pruebas en Jenkins, Travis CI, GitLab CI, configuración de ejecución automática en pushes.
  • TDD (Test-Driven Development): ciclo «rojo-verde-refactorización», ejemplos prácticos.
  • Cobertura de código: análisis de informes de cobertura, configuración de umbrales de calidad.
  • Mejores prácticas: organización de pruebas, nomenclatura, mantenimiento de la legibilidad, evitación de pruebas frágiles.

Puntos fuertes

Enfoque práctico. Cada capítulo contiene ejemplos de código reales que se pueden aplicar inmediatamente en un proyecto. El autor no se pierde en la teoría, sino que muestra cómo resolver problemas concretos.

Enfoque en escenarios reales. Hartjes aborda situaciones a las que se enfrenta todo desarrollador: pruebas de código heredado, trabajo con servicios externos, manejo de errores. Esto hace que el libro sea especialmente valioso para quienes no trabajan con proyectos «ideales».

Estructura clara. El material se presenta de forma lógica: de lo simple a lo complejo. Cada capítulo termina con un resumen y una lista de conclusiones clave, lo que ayuda a consolidar los conocimientos.

Herramientas modernas. El libro cubre versiones actuales de PHPUnit (7.x), Mockery, PHPStan y otras herramientas, lo que lo hace útil incluso varios años después de su publicación.

Humor y estilo ligero. El autor escribe de forma amena, con un toque de autocrítica, lo que hace que la lectura sea atractiva. Las pruebas no son el tema más divertido, pero Hartjes logra mantener el interés del lector.

A quién se lo recomiendo

Recommendations