I'm using phpunit with Laravel 4 framework. Why is it that when there's a PHP error during the tests, no error messages are shown (eg: missing method)?
How can we get phpunit to show all errors?
I think the problem is probably refers to a PHP itself, not PHPUnit. Follow this steps:
1. Check proper php.ini
. Note that some systems can use different php.ini
for different PHP SAPI:
php -i | grep php.ini
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
2. Edit error output settings. Set appropriate settings for error_reporting, display_errors, display_startup_errors in corresponding php.ini
:
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
If you don't want to change CLI error reporting behavior in global scope, you can use PHPUnit bootstrap file for define those settnigs.
1. Setup bootstrap for PHPUnit. Open /Applications/MAMP/htdocs/testtingDecoded/phpunit.xml
file and add bootstrap attribute to phpunit tag:
<phpunit bootstrap="bootstrap.php">
2. Create bootstrap.php in folder with 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');