henrikbjorn / phpspec-code-coverage
Integrates CodeCoverage with PhpSpec
Installs: 790 228
Dependents: 314
Suggesters: 1
Security: 0
Stars: 100
Watchers: 6
Forks: 32
Open Issues: 0
Requires
- php: ^5.5|^5.6|^7.0
- phpspec/phpspec: ^3.0
- phpunit/php-code-coverage: ^4.0
Requires (Dev)
- bossa/phpspec2-expect: dev-master
Suggests
- ext-xdebug: To allow coverage generation when not using a recent version of phpdbg
This package is not auto-updated.
Last update: 2019-10-06 19:41:24 UTC
README
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
.
Configuration Options
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
(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.
extensions: PhpSpecCodeCoverage\CodeCoverageExtension: 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
)
Note: If the clover format option requires you to also set an output location!
Running with phpdbg (PHP 7.x and up)
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.