PHPUnit 13.1.0: Mejoras en Reportes y Cobertura de Código
PHPUnit, el framework de pruebas fundamental para aplicaciones PHP, ha lanzado la versión 13.1.0. Esta actualización menor, con fecha del 3 de abril de 2026, se centra en refinar los reportes de pruebas, expandir la personalización de la cobertura de código y mejorar la estabilidad general. Los ingenieros de QA que siguen las actualizaciones de herramientas de automatización de pruebas encontrarán varias mejoras valiosas en esta versión.
Cambios Clave
Nuevas Funcionalidades:
PHPUnit 13.1.0 introduce mejoras significativas en sus capacidades de reporte. El archivo de log XML de Open Test Reporting (OTR) ahora proporciona más detalles, incluyendo output inesperado, información de #[Group] y problemas reportados. Esto ofrece una visión más completa de los resultados de la ejecución de pruebas.
La generación de reportes de cobertura de código gana una flexibilidad sustancial. Ahora los usuarios pueden configurar opciones de reportes HTML de cobertura de código, como colores, umbrales y CSS personalizado, directamente en el archivo de configuración XML. Esto incluye soporte para dark mode, colores de barra de progreso y colores de breadcrumb, permitiendo reportes visuales altamente adaptados sin necesidad de especificar un directorio de salida de antemano. Además, un nuevo atributo includeInCodeCoverage para los elementos <directory> y <file> bajo <source> ofrece un control granular sobre lo que se incluye en el análisis de cobertura.
Para escenarios avanzados, ahora se admiten los custom issue trigger resolvers, configurables a través de <issueTriggerResolvers> en el archivo XML. Se ha introducido el atributo #[DataProviderClosure] para static closures, y las secciones EXPECTF ahora soportan %r...%r para una coincidencia de patrones más flexible.
Mejoras:
Las descripciones de fallas para la restricción StringMatchesFormatDescription (utilizada por assertFileMatchesFormat(), assertStringMatchesFormat(), y las secciones EXPECTF) han sido mejoradas, facilitando el diagnóstico de fallas en las aserciones. La paleta de colores predeterminada del reporte HTML de cobertura de código se ha actualizado a un esquema azul/ámbar/naranja más amigable para personas con daltonismo.
Deprecaciones:
La opción CLI --log-events-verbose-text <file> ahora está deprecada. id() y after() para mock object expectations también están soft-deprecated. Los equipos de QA deben revisar sus scripts y configuraciones de pruebas para evitar depender de estas funcionalidades en futuras versiones.
Correcciones:
Se han resuelto varios problemas, incluyendo fallos con FILE_EXTERNAL que rompían __DIR__, la ausencia de advertencias cuando se configuraba la misma extensión de test runner más de una vez, lógica frágil en TestSuiteLoader que causaba errores de “Class not found”, y fallas de Process Isolation con globals no serializables. Estas correcciones contribuyen a un entorno de pruebas más estable y predecible.
Impacto para Equipos de QA
Esta actualización proporciona a los equipos de QA una visibilidad mejorada de los resultados de las pruebas a través de logs XML OTR más ricos y mensajes de falla de aserción más claros. Las amplias opciones de personalización para los reportes HTML de cobertura de código permiten una mejor visualización y análisis de la cobertura de pruebas, ayudando a identificar áreas no probadas. En general, las correcciones mejoran la confiabilidad de la ejecución de pruebas, reduciendo falsos negativos o problemas relacionados con el entorno.
Preguntas Frecuentes
P: ¿Cuál es el cambio más significativo para los reportes de pruebas en PHPUnit 13.1.0?
R: El archivo de log XML de Open Test Reporting (OTR) ahora incluye output inesperado, información de #[Group] y problemas reportados, ofreciendo un registro más completo de la ejecución de pruebas.
P: ¿Puedo personalizar la apariencia de los reportes HTML de cobertura de código? R: Sí, PHPUnit 13.1.0 permite una personalización extensa de los reportes HTML de cobertura de código, incluyendo colores, umbrales, CSS personalizado, dark mode y colores de barra de progreso, todo configurable a través del archivo de configuración XML.
P: ¿Hay algún cambio que los ingenieros de QA deban tener en cuenta que pueda romper la compatibilidad?
R: Aunque es una versión menor, la opción CLI --log-events-verbose-text y id()/after() para mock expectations han sido deprecadas. Se recomienda revisar las configuraciones y scripts de pruebas para estas funcionalidades deprecadas.
Para detalles de instalación, consulte la documentación oficial de PHPUnit 13.1. Manténgase informado sobre el desarrollo de PHPUnit siguiendo a @phpunit@phpc.social o suscribiéndose al boletín de PHPUnit Updates.
