PHPUnit es un marco de pruebas unitarias para el lenguaje de programación PHP . Es una instancia de la arquitectura xUnit para marcos de pruebas unitarias que se originó con SUnit y se hizo popular con JUnit . PHPUnit fue creado por Sebastian Bergmann y su desarrollo está alojado en GitHub .
Desarrollador (es) | Sebastián Bergmann |
---|---|
Versión inicial | 27 de noviembre de 2001 [1] |
Lanzamiento estable | 9.5.2 / 2 de febrero de 2021 [2] |
Repositorio | |
Escrito en | PHP |
Sistema operativo | Multiplataforma |
Tipo | Marco de pruebas unitarias |
Licencia | Cláusula BSD 3 |
Sitio web | phpunit |
Propósito
PHPUnit se basa en la idea de que los desarrolladores deberían poder encontrar rápidamente errores en su código recién comprometido y afirmar que no se ha producido ninguna regresión de código en otras partes de la base del código. Al igual que otros marcos de prueba de unidades , PHPUnit usa aserciones para verificar que el comportamiento del componente específico - o "unidad" - que se está probando se comporta como se esperaba. [3]
Beneficios
El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas. Una prueba unitaria proporciona un contrato escrito estricto que el fragmento de código debe cumplir. Como resultado, las pruebas unitarias encuentran problemas al principio del ciclo de desarrollo.
PHPUnit puede generar resultados de pruebas en varios formatos diferentes, incluidos JUnit XML y TestDox .
Vulnerabilidades
Una vulnerabilidad que permitía a los atacantes ejecutar código remoto a través de PHPUnit se descubrió a fines de 2017. Al enviar una carga útil de código PHP a un archivo que forma parte de PHPUnit, un atacante podría ejecutar código PHP en el servidor web. [4]
Referencias
- ^ "PHP: revisión 63330" . svn.php.net .
- ^ "Lanzamientos · sebastianbergmann / phpunit" . GitHub .
- ^ Aserción (informática)
- ^ Bergmann, Sebastián. "PHPUnit: ¿un riesgo de seguridad?" . La empresa consultora PHP . La empresa consultora PHP . Consultado el 20 de octubre de 2020 .