| 148 |
lars |
1 |
# phpunit/php-code-coverage
|
|
|
2 |
|
|
|
3 |
[](https://packagist.org/packages/phpunit/php-code-coverage)
|
|
|
4 |
[](https://github.com/sebastianbergmann/php-code-coverage/actions)
|
|
|
5 |
[](https://shepherd.dev/github/sebastianbergmann/php-code-coverage)
|
|
|
6 |
|
|
|
7 |
Provides collection, processing, and rendering functionality for PHP code coverage information.
|
|
|
8 |
|
|
|
9 |
## Installation
|
|
|
10 |
|
|
|
11 |
You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/):
|
|
|
12 |
|
|
|
13 |
```
|
|
|
14 |
composer require phpunit/php-code-coverage
|
|
|
15 |
```
|
|
|
16 |
|
|
|
17 |
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:
|
|
|
18 |
|
|
|
19 |
```
|
|
|
20 |
composer require --dev phpunit/php-code-coverage
|
|
|
21 |
```
|
|
|
22 |
|
|
|
23 |
## Usage
|
|
|
24 |
|
|
|
25 |
```php
|
|
|
26 |
<?php declare(strict_types=1);
|
|
|
27 |
use SebastianBergmann\CodeCoverage\Filter;
|
|
|
28 |
use SebastianBergmann\CodeCoverage\Driver\Selector;
|
|
|
29 |
use SebastianBergmann\CodeCoverage\CodeCoverage;
|
|
|
30 |
use SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport;
|
|
|
31 |
|
|
|
32 |
$filter = new Filter;
|
|
|
33 |
$filter->includeDirectory('/path/to/directory');
|
|
|
34 |
|
|
|
35 |
$coverage = new CodeCoverage(
|
|
|
36 |
(new Selector)->forLineCoverage($filter),
|
|
|
37 |
$filter
|
|
|
38 |
);
|
|
|
39 |
|
|
|
40 |
$coverage->start('<name of test>');
|
|
|
41 |
|
|
|
42 |
// ...
|
|
|
43 |
|
|
|
44 |
$coverage->stop();
|
|
|
45 |
|
|
|
46 |
|
|
|
47 |
(new HtmlReport)->process($coverage, '/tmp/code-coverage-report');
|
|
|
48 |
```
|