2 min. de lectura (aproximado)

Phpspec: la herramienta de bdd para desarrolladores PHP

PHPSpec es un framework de especificación (spec) para PHP que promueve el BDD, Behavior Driven Development y se integra con el Spec Driven Development.
Fue creado por Marcello Duarte y el equipo de SensioLabs, y se mantiene activo en la comunidad.
A diferencia de PHPUnit, que es más orientado a pruebas unitarias tradicionales, PHPSpec está pensado para describir el comportamiento esperado de las clases y objetos de forma natural y legible, casi como si se estuviera escribiendo documentación ejecutable. PHPSpec ayuda a escribir código más limpio, con mejor diseño y más mantenible.

Ventajas de Usar PHPSpec

  • Legibilidad extrema: Los tests (llamados specs) se leen como prosa inglesa.
  • Diseño guiado por comportamiento: Te obliga a pensar primero en la interfaz pública de tus clases.
  • Generación de código: Puede generar automáticamente el código esqueleto de tus clases a partir de las especificaciones.
  • Mocks integrados y potentes: Usar Prophet, un excelente mocking library.
  • Enfoque en OOP: Ideal para código bien diseñado y orientado a objetos.
  • Integración: Funciona perfectamente junto a PHPUnit (muchos proyectos usan ambos).
Prophet es el framework de mocking que utiliza PHPSpec por defecto.

Instalación

La forma más sencilla es mediante Composer:

composer require --dev phpspec/phpspec