Skip to content

Instantly share code, notes, and snippets.

@rodrisan
Forked from derickr/save-code-coverage.php
Created October 20, 2023 18:39
Show Gist options
  • Save rodrisan/364a29dd26f166ac94f7bbab912682b7 to your computer and use it in GitHub Desktop.
Save rodrisan/364a29dd26f166ac94f7bbab912682b7 to your computer and use it in GitHub Desktop.
save-code-coverage.php
<?php
require 'vendor/autoload.php';
use SebastianBergmann\CodeCoverage\Filter;
use SebastianBergmann\CodeCoverage\Driver\Selector;
use SebastianBergmann\CodeCoverage\CodeCoverage;
use SebastianBergmann\CodeCoverage\Report\PHP as PhpReport;
$filter = new Filter;
$filter->includeDirectory( __DIR__ . '/html' );
$filter->includeDirectory( __DIR__ . '/src' );
$filter->includeDirectory( __DIR__ . '/views' );
$coverage = new CodeCoverage(
(new Selector)->forLineCoverage($filter),
$filter
);
$coverage->start($_SERVER['REQUEST_URI']);
function save_coverage()
{
global $coverage;
$coverage->stop();
(new PhpReport)->process($coverage, '/tmp/path/crawler/' . bin2hex(random_bytes(16)) . '.cov');
}
register_shutdown_function('save_coverage');
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment