peridot-php / peridot-code-coverage-reporters
Code coverage reporters for Peridot PHP.
Installs: 68 586
Dependents: 20
Suggesters: 1
Security: 0
Stars: 2
Watchers: 2
Forks: 5
Open Issues: 2
pkg:composer/peridot-php/peridot-code-coverage-reporters
Requires
- peridot-php/peridot: ^1
- phpunit/php-code-coverage: ^4|^5
This package is not auto-updated.
Last update: 2025-10-11 20:14:56 UTC
README
Installation
Add this package as a dependency:
composer require --dev peridot-php/peridot-code-coverage-reporters
Then register the reporters in your peridot.php configuration:
use Evenement\EventEmitterInterface; use Peridot\Reporter\CodeCoverage\CodeCoverageReporter; use Peridot\Reporter\CodeCoverageReporters; return function (EventEmitterInterface $emitter) { $coverage = new CodeCoverageReporters($emitter); $coverage->register(); $emitter->on('code-coverage.start', function (CodeCoverageReporter $reporter) { $reporter->addDirectoryToWhitelist(__DIR__ . '/src'); }); };
Usage
This package provides several Peridot reporters that can be used via the
--reporter option:
html-code-coveragetext-code-coverageclover-code-coveragexml-code-coveragecrap4j-code-coveragephp-code-coverage
These reporters are all driven by php-code-coverage, which requires the use of
either the phpdbg executable, or the xdebug PHP extension in order to
produce coverage reports.
With phpdbg
Where available, phpdbg is generally recommended for faster coverage
reporting. Most system-level package management tools should be able to install
a version of phpdbg with minimal hassle. Under Homebrew, for example,
phpdbg can be installed like so:
brew tap homebrew/homebrew-php && brew install php71 --with-phpdbg
Once installed, phpdbg -qrr can be used in place of php when executing
scripts, including the peridot binary, allowing code coverage to be generated:
phpdbr -qrr vendor/bin/peridot --reporter spec --reporter html-code-coverage
The above command will print spec-style output while the suite runs, and generate an HTML coverage report once the suite has completed.
With xdebug
Use of xdebug is no longer recommended, because of the significantly worse
performance compared to phpdbg. If phpdbg is not an option, simply make sure
the xdebug extension is enabled when running peridot:
vendor/bin/peridot --reporter spec --reporter html-code-coverage
The above command will print spec-style output while the suite runs, and generate an HTML coverage report once the suite has completed.