2026-02-27 00:03:00 +00:00
# phpunit/php-code-coverage
2026-02-25 06:59:34 +00:00
2026-02-27 00:03:00 +00:00
[](https://packagist.org/packages/phpunit/php-code-coverage)
[](https://github.com/sebastianbergmann/php-code-coverage/actions)
[](https://codecov.io/gh/sebastianbergmann/php-code-coverage)
2026-02-25 06:59:34 +00:00
2026-02-27 00:03:00 +00:00
Provides collection, processing, and rendering functionality for PHP code coverage information.
2026-02-25 06:59:34 +00:00
## Installation
You can add this library as a local, per-project dependency to your project using [Composer ](https://getcomposer.org/ ):
2026-02-27 00:03:00 +00:00
```
composer require phpunit/php-code-coverage
```
2026-02-25 06:59:34 +00:00
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:
2026-02-27 00:03:00 +00:00
```
composer require --dev phpunit/php-code-coverage
```
2026-02-25 06:59:34 +00:00
2026-02-27 00:03:00 +00:00
## Usage
2026-02-25 06:59:34 +00:00
```php
2026-02-27 00:03:00 +00:00
< ?php declare(strict_types=1);
use SebastianBergmann\CodeCoverage\Filter;
use SebastianBergmann\CodeCoverage\Driver\Selector;
2026-02-25 06:59:34 +00:00
use SebastianBergmann\CodeCoverage\CodeCoverage;
2026-02-27 00:03:00 +00:00
use SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport;
$filter = new Filter;
2026-02-25 06:59:34 +00:00
2026-02-27 00:03:00 +00:00
$filter->includeFiles(
[
'/path/to/file.php',
'/path/to/another_file.php',
]
);
2026-02-25 06:59:34 +00:00
2026-02-27 00:03:00 +00:00
$coverage = new CodeCoverage(
(new Selector)->forLineCoverage($filter),
$filter
);
2026-02-25 06:59:34 +00:00
$coverage->start('< name of test > ');
// ...
$coverage->stop();
2026-02-27 00:03:00 +00:00
(new HtmlReport)->process($coverage, '/tmp/code-coverage-report');
2026-02-25 06:59:34 +00:00
```