henrikbjorn/phpspec-code-coverage
Deprecated PhpSpec extension that generates code coverage reports (HTML by default, plus clover/php/text) with configurable whitelists/blacklists and output paths. Install via Composer, enable in phpspec.yml, run phpspec (or phpdbg on PHP 7+).
DEPRECATED: CodeCoverage should not be used with spec testing in order to see how good your tests are. For that reason, and because I don't use it myself, this library is deprecated and will not receive any updates etc. For a maintained fork, you can check leanphp/phpspec-code-coverage.
Install with Composer:
composer require --dev henrikbjorn/phpspec-code-coverage
Enable it in your phpspec.yml file:
extensions:
- PhpSpecCodeCoverage\CodeCoverageExtension
Now run your specs with the normal phpspec run and voilà your code coverage will be available in
coverage.
It is possible to control a bit out how the code coverage is done through phpspec.yml. This is done by
adding a hash of options to the extension key.
whitelist takes an array of directories to whitelist (default: lib, src).whitelist_files takes an array of files to whitelist (default: none).blacklist takes an array of directories to blacklistblacklist_files takes an array of files to blacklistformat (optional) could be one or many of: clover, php, text, html (default html)output takes a location relative to the place you are running phpspec run (default: coverage). If you configure multiple formats, takes a hash of format:output e.g.extensions:
PhpSpecCodeCoverage\CodeCoverageExtension:
format:
- html
- clover
output:
html: coverage
clover: coverage.xml
show_uncovered_files for including uncovered files in coverage reports (default true)lower_upper_bound for coverage (default 35)high_lower_bound for coverage (default 70)Note: If the clover format option requires you to also set an output location!
For faster execution, run phpspec with phpdbg instead of xdebug:
phpdbg -qrr phpspec run
Note: The code coverage extension only works with phpdbg if you're using PHP 7. In PHP 5.6, phpdbg is missing the phpdbg_start_oplog function which is required to generate code coverage.
How can I help you explore Laravel packages today?