visit unitarias test pruebas assertstatus assertsee php tdd phpunit laravel laravel-4

unitarias - phpunit xml laravel



¿Por qué phpunit no muestra ningún error en la consola (2)

Estoy usando phpunit con el framework Laravel 4. ¿Por qué es que cuando hay un error de PHP durante las pruebas, no se muestran mensajes de error (por ejemplo, método faltante)?

¿Cómo podemos obtener phpunit para mostrar todos los errores?


Creo que el problema probablemente se refiere a un PHP en sí mismo, no a PHPUnit. Sigue estos pasos:

1. Verifique php.ini apropiado . Tenga en cuenta que algunos sistemas pueden usar diferentes php.ini para diferentes PHP SAPI:

php -i | grep php.ini Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.ini

2. Edite la configuración de salida de error . Establezca la configuración adecuada para error_reporting , display_errors , display_startup_errors en php.ini correspondiente:

error_reporting = E_ALL display_errors = On display_startup_errors = On

Si no desea cambiar el comportamiento de informe de errores CLI en alcance global, puede usar el archivo PHPUnit bootstrap para definir esos settnigs.

1. Setup bootstrap para PHPUnit . Abra el archivo /Applications/MAMP/htdocs/testtingDecoded/phpunit.xml y agregue el atributo bootstrap a la etiqueta phpunit:

<phpunit bootstrap="bootstrap.php">

2. Crea bootstrap.php en la carpeta con phpunit.xml :

<?php ini_set(''error_reporting'', E_ALL); // or error_reporting(E_ALL); ini_set(''display_errors'', ''1''); ini_set(''display_startup_errors'', ''1'');


Este es un problema muy común, especialmente cuando está ejecutando pruebas en un servidor de producción o cuando el probador no está muy consciente de la configuración de PHP.

El problema está relacionado con la configuración de php.ini , como señaló en su respuesta y todas las soluciones que sugiere funcionan bien.

Pero hay otra solución que puede ser útil, como lo fue para mí, que es establecer la configuración de PHP adecuada en el archivo de configuración de PHPUnit (XML), de la siguiente manera:

<phpunit> <suites> ... </suites> <php> <ini name="display_errors" value="On" /> <ini name="display_startup_errors" value="On" /> </php> </phpunit>

Utilizando esto, puede personalizar no solo la visualización de errores, sino también una gran cantidad de configuración de PHP, específicamente para su suite de pruebas, dejando intacta su configuración de producción y sin tener que escribir un archivo bootstrap solo para esto.