function CodeCoverage::generateReports
File
-
vendor/
phpunit/ phpunit/ src/ Runner/ CodeCoverage.php, line 204
Class
- CodeCoverage
- @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
Namespace
PHPUnit\RunnerCode
public function generateReports(Printer $printer, Configuration $configuration) : void {
if (!$this->isActive()) {
return;
}
if ($configuration->hasCoveragePhp()) {
$this->codeCoverageGenerationStart($printer, 'PHP');
try {
$writer = new PhpReport();
$writer->process($this->codeCoverage(), $configuration->coveragePhp());
$this->codeCoverageGenerationSucceeded($printer);
unset($writer);
} catch (CodeCoverageException $e) {
$this->codeCoverageGenerationFailed($printer, $e);
}
}
if ($configuration->hasCoverageClover()) {
$this->codeCoverageGenerationStart($printer, 'Clover XML');
try {
$writer = new CloverReport();
$writer->process($this->codeCoverage(), $configuration->coverageClover());
$this->codeCoverageGenerationSucceeded($printer);
unset($writer);
} catch (CodeCoverageException $e) {
$this->codeCoverageGenerationFailed($printer, $e);
}
}
if ($configuration->hasCoverageCobertura()) {
$this->codeCoverageGenerationStart($printer, 'Cobertura XML');
try {
$writer = new CoberturaReport();
$writer->process($this->codeCoverage(), $configuration->coverageCobertura());
$this->codeCoverageGenerationSucceeded($printer);
unset($writer);
} catch (CodeCoverageException $e) {
$this->codeCoverageGenerationFailed($printer, $e);
}
}
if ($configuration->hasCoverageCrap4j()) {
$this->codeCoverageGenerationStart($printer, 'Crap4J XML');
try {
$writer = new Crap4jReport($configuration->coverageCrap4jThreshold());
$writer->process($this->codeCoverage(), $configuration->coverageCrap4j());
$this->codeCoverageGenerationSucceeded($printer);
unset($writer);
} catch (CodeCoverageException $e) {
$this->codeCoverageGenerationFailed($printer, $e);
}
}
if ($configuration->hasCoverageHtml()) {
$this->codeCoverageGenerationStart($printer, 'HTML');
try {
$customCssFile = CustomCssFile::default();
if ($configuration->hasCoverageHtmlCustomCssFile()) {
$customCssFile = CustomCssFile::from($configuration->coverageHtmlCustomCssFile());
}
$writer = new HtmlReport(sprintf(' and <a href="https://phpunit.de/">PHPUnit %s</a>', Version::id()), Colors::from($configuration->coverageHtmlColorSuccessLow(), $configuration->coverageHtmlColorSuccessMedium(), $configuration->coverageHtmlColorSuccessHigh(), $configuration->coverageHtmlColorWarning(), $configuration->coverageHtmlColorDanger()), Thresholds::from($configuration->coverageHtmlLowUpperBound(), $configuration->coverageHtmlHighLowerBound()), $customCssFile);
$writer->process($this->codeCoverage(), $configuration->coverageHtml());
$this->codeCoverageGenerationSucceeded($printer);
unset($writer);
} catch (CodeCoverageException $e) {
$this->codeCoverageGenerationFailed($printer, $e);
}
}
if ($configuration->hasCoverageText()) {
$processor = new TextReport(Thresholds::default(), $configuration->coverageTextShowUncoveredFiles(), $configuration->coverageTextShowOnlySummary());
$textReport = $processor->process($this->codeCoverage(), $configuration->colors());
if ($configuration->coverageText() === 'php://stdout') {
if (!$configuration->noOutput() && !$configuration->debug()) {
$printer->print($textReport);
}
}
else {
file_put_contents($configuration->coverageText(), $textReport);
}
}
if ($configuration->hasCoverageXml()) {
$this->codeCoverageGenerationStart($printer, 'PHPUnit XML');
try {
$writer = new XmlReport(Version::id());
$writer->process($this->codeCoverage(), $configuration->coverageXml());
$this->codeCoverageGenerationSucceeded($printer);
unset($writer);
} catch (CodeCoverageException $e) {
$this->codeCoverageGenerationFailed($printer, $e);
}
}
}