1 |
cb15593b
|
Cajova-Houba
|
[](https://packagist.org/packages/phpunit/php-code-coverage)
|
2 |
|
|
[](https://travis-ci.org/sebastianbergmann/php-code-coverage)
|
3 |
|
|
|
4 |
|
|
# PHP_CodeCoverage
|
5 |
|
|
|
6 |
|
|
**PHP_CodeCoverage** is a library that provides collection, processing, and rendering functionality for PHP code coverage information.
|
7 |
|
|
|
8 |
|
|
## Requirements
|
9 |
|
|
|
10 |
|
|
PHP 5.3.3 is required but using the latest version of PHP is highly recommended
|
11 |
|
|
|
12 |
|
|
### PHP 5
|
13 |
|
|
|
14 |
|
|
[Xdebug](http://xdebug.org/) is the only source of raw code coverage data supported for PHP 5. Version 2.1.3 of Xdebug is required but using the latest version is highly recommended.
|
15 |
|
|
|
16 |
|
|
### PHP 7
|
17 |
|
|
|
18 |
|
|
[phpdbg](http://phpdbg.com/docs) 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.
|
19 |
|
|
|
20 |
|
|
### HHVM
|
21 |
|
|
|
22 |
|
|
A version of HHVM that implements the Xdebug API for code coverage (`xdebug_*_code_coverage()`) is required.
|
23 |
|
|
|
24 |
|
|
## Installation
|
25 |
|
|
|
26 |
|
|
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 2.0:
|
27 |
|
|
|
28 |
|
|
{
|
29 |
|
|
"require": {
|
30 |
|
|
"phpunit/php-code-coverage": "^2"
|
31 |
|
|
}
|
32 |
|
|
}
|
33 |
|
|
|
34 |
|
|
## Using the PHP_CodeCoverage API
|
35 |
|
|
|
36 |
|
|
```php
|
37 |
|
|
<?php
|
38 |
|
|
$coverage = new PHP_CodeCoverage;
|
39 |
|
|
$coverage->start('<name of test>');
|
40 |
|
|
|
41 |
|
|
// ...
|
42 |
|
|
|
43 |
|
|
$coverage->stop();
|
44 |
|
|
|
45 |
|
|
$writer = new PHP_CodeCoverage_Report_Clover;
|
46 |
|
|
$writer->process($coverage, '/tmp/clover.xml');
|
47 |
|
|
|
48 |
|
|
$writer = new PHP_CodeCoverage_Report_HTML;
|
49 |
|
|
$writer->process($coverage, '/tmp/code-coverage-report');
|
50 |
|
|
```
|