caciobanu / behat-deprecation-extension
Deprecation extension for Behat
Installs: 686 197
Dependents: 5
Suggesters: 0
Security: 0
Stars: 20
Watchers: 2
Forks: 4
Open Issues: 0
Type:behat-extension
Requires
- php: >=5.3.3
- behat/behat: ~3.0
Requires (Dev)
- phpunit/phpunit: ^4.8.36|^6.3|^7.5.15
This package is auto-updated.
Last update: 2024-10-31 00:16:36 UTC
README
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.
Installation
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.
Basic usage
Run Behat and enjoy :)
The summary includes:
- 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.
Ignore some deprecation
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#' }
Credits
This library is developed by Catalin Ciobanu.