gergelyrozsas / clover-diff
Clover Diff
0.1.0
2019-10-05 14:59 UTC
Requires
- php: ^7.2
- ext-simplexml: *
- psr/container: ^1.0
Requires (Dev)
- symfony/filesystem: ^4.2
Suggests
- symfony/filesystem: Required for the built in HTML report generator.
This package is auto-updated.
Last update: 2024-09-06 01:38:50 UTC
README
GergelyRozsas\CloverDiff
GergelyRozsas\CloverDiff 是一个库,提供了处理和渲染功能,用于比较从 Clover XML 文件中提取的代码覆盖率信息。
安装
此库可以通过 Composer 安装。
composer require gergelyrozsas/clover-diff
使用 GergelyRozsas\CloverDiff API
<?php use GergelyRozsas\CloverDiff\Factory; use GergelyRozsas\CloverDiff\Node\Iterator\RecursiveNodeIterator; $diff = Factory::getCloverDiff(); $report = $diff->compare([ '/path/to/clover1.xml', '/path/to/clover2.xml', ]); $iterator = new \RecursiveIteratorIterator( new RecursiveNodeIterator($report), \RecursiveIteratorIterator::SELF_FIRST ); /** @var \GergelyRozsas\CloverDiff\Node\NodeInterface $node */ foreach ($iterator as $node) { foreach ($node->getRevisions() as $revision) { echo \vsprintf("Coverage for %s on %s was %.2f%%.\n", [ \implode('/', $node->getPath()), \date('Y-m-d H:i:s', $revision->getTimestamp()), \round(100 * $revision->getCoveredElements() / $revision->getElements()), ]); } }
如果已安装 symfony/filesystem 库,还可以使用内置的 HTML 报告生成器。
<?php use GergelyRozsas\CloverDiff\Factory; $diff = Factory::getCloverDiff(); $report = $diff->compare([ '/path/to/clover1.xml', '/path/to/clover2.xml', ]); $generator = Factory::getHtmlReport(); $options = $generator->process($report); echo "The report was generated into the '{$options['target']}' directory.\n";
鸣谢
HTML 报告的概念借鉴自 https://github.com/sebastianbergmann/php-code-coverage。