A Behat extension to display the whole list of user deprecated features (E_USER_DEPRECATED messages). It can be useful in a Symfony2 application when the tests are run with Symfony2 BrowserKit driver for Mink framework but not limited to.
You can use Composer to install the extension to your project:
composer require --dev caciobanu/behat-deprecation-extension
Then, in your behat config file behat.yml
, register the extension:
# behat.yml
default:
extensions:
Caciobanu\Behat\DeprecationExtension: ~
Or like below with a mode set:
# behat.yml
default:
extensions:
Caciobanu\Behat\DeprecationExtension:
mode: weak
The following reporting modes are supported:
- use null to display the deprecation report without making the test suite fail (default);
- use "weak" to hide the deprecation report but keep a global count;
- use a number to define the upper bound of allowed deprecations, making the tests fail whenever more notices are triggered.
Run Behat and enjoy :)
- Unsilenced
- Reports deprecation notices that were triggered without the recommended @-silencing operator.
- Legacy
- Deprecation notices denote tests that explicitly test some legacy features, marked with the @legacy tag.
- Remaining
- Deprecation notices are all other (non-legacy) notices.
You can filter the file that did make the call to trigger_error
like this:
default:
extensions:
Caciobanu\Behat\DeprecationExtension:
ignore:
- { file: '#symfony#' }
- { file: '#my-app#' }
It will ignore every files that matches any of the listed regexps
Or you can filter deprecation messages like this:
default:
extensions:
Caciobanu\Behat\DeprecationExtension:
ignore:
- { message: '#symfony#' }
- { message: '#my-app#' }
It will ignore every deprecation message that matches any of the listed regexps
You can use both filter types at the same time:
default:
extensions:
Caciobanu\Behat\DeprecationExtension:
ignore:
- { file: '#symfony#', message: '#symfony#' }
This library is developed by Catalin Ciobanu.