digitickets / phpunit-errorhandler
A simple trait to add to your PHPUnit test allowing you to track and test PHP errors, warnings and notices
Installs: 61 582
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: >=7
Requires (Dev)
- phpunit/phpunit: ^6
README
PHPUnit ErrorHandler
An alternative approach to unit testing PHP errors.
Whilst you can use PHPUnit's built-in behaviour of converting all errors, warnings and notices to exceptions, this package allows you to track all PHP errors, including user generated errors, separately.
The code is supplied as a trait and is based upon Error Condition Testing with PHPUnit
Here is an example use case:
<?php use DigiTickets\PHPUnit\ErrorHandler; class TestErrorHandling extends \PHPUnit\Framework\TestCase { use ErrorHandler; public function testSomethingGeneratedAnError() { // Run something that will produce an error, warning or notice. // For example, a E_USER_NOTICE of 'Incompatible type ignored' can be tested as follows: $this->assertError('Incompatible type ignored', E_USER_NOTICE); } public function testSomethingDidNotGenerateAnError() { // Run something that should not produce an error, warning or notice. $this->assertNoErrors(); } }
Upgrading from V3.0.0 to V4.0.0
Thanks to imbrish, the upgrade is extremely simple.
In previous versions, you were required to have the following setup logic.
protected function setUp()
{
// Set the error handler.
$this->setUpErrorHandler();
}
Now you don't. You can remove the $this->setUpErrorHandler();
call. If you now have an empty setup()
function,
you can remove that also!