PhpSpec Code Coverage
Add it to your composer.json
file to install with Composer:
composer require henrikbjorn/phpspec-code-coverage:^2.0
Enable it in your phpspec.yml
file:
extensions:
- PhpSpec\Extension\CodeCoverageExtension
Now run your specs with the normal phpspec run
and voila 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 code_coverage
key which takes a hash of options.
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
(defaulthtml
)output
takes a location relative to the place you are runningphpspec run
(default:coverage
). If you configure multiple formats, takes a hash of format:output e.g.
code_coverage:
format:
- html
- clover
output:
html: coverage
clover: coverage.xml
show_uncovered_files
for including uncovered files in coverage reports (defaulttrue
)lower_upper_bound
for coverage (default35
)high_lower_bound
for coverage (default70
)
For faster execution, run phpspec with phpdbg instead of xdebug:
phpdbg -qrr phpspec run