PHPUnit es un marco de pruebas para PHP ampliamente utilizado. Se ejecuta desde la línea de comandos y ofrece múltiples opciones para personalizar la ejecución de pruebas.
phpunit tests
Ejecuta todas las pruebas dentro del directorio tests
.
phpunit --help # Muestra todas las opciones disponibles
phpunit --version # Muestra la versión instalada de PHPUnit
phpunit --filter nombreDeLaPrueba # Ejecuta solo una prueba específica
phpunit --testsuite nombreSuite # Ejecuta un conjunto de pruebas definido en `phpunit.xml`
phpunit --group grupo # Ejecuta solo pruebas de un grupo específico
phpunit --exclude-group grupo # Excluye un grupo de pruebas
phpunit --coverage-html coverage/ # Genera un reporte de cobertura en HTML
phpunit --coverage-clover coverage.xml # Genera un reporte en formato Clover
phpunit --coverage-text # Muestra la cobertura de código en la terminal
phpunit --log-junit report.xml # Genera un reporte en formato JUnit
phpunit --verbose # Muestra detalles adicionales sobre la ejecución
phpunit --debug # Imprime información de depuración sobre cada prueba
phpunit --colors=auto # Resalta los resultados con colores (auto, never, always)
phpunit --testdox # Muestra los resultados en formato legible para humanos
phpunit --stop-on-error # Detiene la ejecución al encontrar un error
phpunit --stop-on-failure # Detiene la ejecución al encontrar una falla
phpunit --stop-on-risky # Detiene la ejecución si hay pruebas riesgosas
phpunit --stop-on-skipped # Detiene la ejecución si hay pruebas omitidas
phpunit --stop-on-incomplete # Detiene la ejecución si hay pruebas incompletas
phpunit --fail-on-warning # Trata las advertencias como errores
phpunit --bootstrap bootstrap.php # Especifica un archivo de arranque
phpunit --configuration phpunit.xml # Usa un archivo de configuración específico
phpunit --order-by=random # Ejecuta las pruebas en orden aleatorio
phpunit --repeat 5 # Repite la ejecución de las pruebas 5 veces
phpunit --dont-report-useless-tests # No muestra pruebas sin aserciones
phpunit.xml
Si no quieres escribir las opciones en la línea de comandos cada vez, puedes configurarlas en un archivo phpunit.xml
:
<phpunit bootstrap="bootstrap.php" colors="true">
<testsuites>
<testsuite name="MiSuite">
<directory>tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>src</directory>
</whitelist>
</filter>
</phpunit>