PHP_CodeCoverage is a library that provides collection, processing, and rendering functionality for PHP code coverage information.
PHP 5.6 is required but using the latest version of PHP is highly recommended
Xdebug is the only source of raw code coverage data supported for PHP 5. Version 2.2.1 of Xdebug is required but using the latest version is highly recommended.
phpdbg is currently the only source of raw code coverage data supported for PHP 7. Once Xdebug has been updated for PHP 7 it, too, will be supported.
A version of HHVM that implements the Xdebug API for code coverage (xdebug_*_code_coverage()
) is required.
To add PHP_CodeCoverage as a local, per-project dependency to your project, simply add a dependency on phpunit/php-code-coverage
to your project's composer.json
file. Here is a minimal example of a composer.json
file that just defines a dependency on PHP_CodeCoverage 3.0:
{
"require": {
"phpunit/php-code-coverage": "^3"
}
}
<?php
$coverage = new PHP_CodeCoverage;
$coverage->start('<name of test>');
// ...
$coverage->stop();
$writer = new PHP_CodeCoverage_Report_Clover;
$writer->process($coverage, '/tmp/clover.xml');
$writer = new PHP_CodeCoverage_Report_HTML;
$writer->process($coverage, '/tmp/code-coverage-report');