Haciendo del Desarrollo y la Arquitectura Web, ciencia y pasión.

Opciones de phpunit

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.


⚙️ Opciones principales de PHPUnit

📌 1. Ejecutar pruebas

phpunit tests

Ejecuta todas las pruebas dentro del directorio tests.


📌 2. Mostrar ayuda y versión

phpunit --help       # Muestra todas las opciones disponibles  
phpunit --version    # Muestra la versión instalada de PHPUnit  

📌 3. Filtros y selección de pruebas

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  

📌 4. Generar reportes y cobertura de código

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  

📌 5. Opciones de salida y depuración

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  

📌 6. Manejo de excepciones y errores

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  

📌 7. Otras opciones avanzadas

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  

📂 Ejemplo de archivo 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>