mirror of
https://github.com/php/presentations.git
synced 2026-03-24 15:42:33 +01:00
40 lines
936 B
XML
40 lines
936 B
XML
<slide>
|
|
<title>Xdebug code coverage</title>
|
|
|
|
<example class="medium">
|
|
<![CDATA[<?php
|
|
function ifthenelse( $a, $b )
|
|
{
|
|
if ($a) {
|
|
echo "A HIT\n";
|
|
}
|
|
if ($b) {
|
|
echo "B HIT\n";
|
|
}
|
|
}]]>
|
|
</example>
|
|
<example class="medium">
|
|
<![CDATA[<?php
|
|
require 'vendor/autoload.php';
|
|
use SebastianBergmann\CodeCoverage\Filter;
|
|
use SebastianBergmann\CodeCoverage\Driver\Selector;
|
|
use SebastianBergmann\CodeCoverage\CodeCoverage;
|
|
use SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport;
|
|
|
|
include 'test.php';
|
|
|
|
$filter = new Filter;
|
|
$filter->includeFiles( [ '/test.php' ] );
|
|
|
|
$coverage = new CodeCoverage(
|
|
(new Selector)->forLineAndPathCoverage($filter),
|
|
$filter
|
|
);
|
|
|
|
$coverage->start('coverage1'); ifthenelse( true, false ); $coverage->stop();
|
|
$coverage->start('coverage2'); ifthenelse( false, true ); $coverage->stop();
|
|
|
|
(new HtmlReport)->process($coverage, '/tmp/code-coverage-report');
|
|
]]></example>
|
|
</slide>
|