PHP_CodeCoverage
PHP_CodeCoverage is a library that provides collection, processing, and rendering functionality for PHP code coverage information.
Requirements
PHP 5.6 is required but using the latest version of PHP is highly recommended.
PHP 5
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.
PHP 7
Version 2.4.0 (or later) of Xdebug as well as phpdbg are supported sources of raw code coverage data for PHP 7.
HHVM
A version of HHVM that implements the Xdebug API for code coverage (xdebug_*_code_coverage()
) is required.
Installation
You can add this library as a local, per-project dependency to your project using Composer:
composer require phpunit/php-code-coverage
If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
composer require --dev phpunit/php-code-coverage
Using the PHP_CodeCoverage API
<?php
$coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage;
$coverage->start('<name of test>');
// ...
$coverage->stop();
$writer = new \SebastianBergmann\CodeCoverage\Report\Clover;
$writer->process($coverage, '/tmp/clover.xml');
$writer = new \SebastianBergmann\CodeCoverage\Report\Html\Facade;
$writer->process($coverage, '/tmp/code-coverage-report');