phpcov is a command-line frontend for the PHP_CodeCoverage library.
The easiest way to obtain PHPCOV is to download a PHP Archive (PHAR) that has all required dependencies of PHPCOV bundled in a single file:
wget https://phar.phpunit.de/phpcov.phar
chmod +x phpcov.phar
mv phpcov.phar /usr/local/bin/phpcov
You can also immediately use the PHAR after you have downloaded it, of course:
wget https://phar.phpunit.de/phpcov.phar
php phpcov.phar
Simply add a dependency on phpunit/phpcov
to your project's composer.json
file if you use Composer to manage the dependencies of your project. Here is a minimal example of a composer.json
file that just defines a development-time dependency on PHPCOV:
{
"require-dev": {
"phpunit/phpcov": "*"
}
}
For a system-wide installation via Composer, you can run:
composer global require 'phpunit/phpcov=*'
Make sure you have ~/.composer/vendor/bin/
in your path.
$ git diff HEAD^1 > /tmp/patch.txt
$ phpunit --coverage-php /tmp/coverage.cov
$ phpcov patch-coverage --patch /tmp/patch.txt \
--path-prefix /path/to/project \
/tmp/coverage.cov
phpcov 2.0.0 by Sebastian Bergmann.
1 / 2 changed executable lines covered (50.00%)
Changed executable lines that are not covered:
Example.php:11
$ parallel --gnu ::: \
'phpunit --coverage-php /tmp/coverage/FooTest.cov tests/FooTest' \
'phpunit --coverage-php /tmp/coverage/BarTest.cov tests/BarTest'
$ phpcov merge --clover /tmp/clover.xml /tmp/coverage
phpcov 2.0.0 by Sebastian Bergmann.
Generating code coverage report in Clover XML format ... done
$ phpcov execute --clover coverage.xml script.php
phpcov 2.0.0 by Sebastian Bergmann.
Generating code coverage report in Clover XML format ... done