peridot-php / peridot-code-coverage-reporters
Peridot PHP 的代码覆盖率报告工具。
3.0.0
2017-09-18 09:26 UTC
Requires
- peridot-php/peridot: ^1
- phpunit/php-code-coverage: ^4|^5
This package is not auto-updated.
Last update: 2024-09-14 14:19:26 UTC
README
安装
将此包作为依赖项添加
composer require --dev peridot-php/peridot-code-coverage-reporters
然后在您的 peridot.php
配置中注册报告器
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'); }); };
用法
此包提供几个 Peridot 报告器,可以通过 --reporter
选项使用
html-code-coverage
text-code-coverage
clover-code-coverage
xml-code-coverage
crap4j-code-coverage
php-code-coverage
这些报告器都由 php-code-coverage 驱动,生成覆盖率报告需要使用 phpdbg
可执行文件或 xdebug
PHP 扩展。
使用 phpdbg
在可用的情况下,通常推荐使用 phpdbg
以获得更快的覆盖率报告。大多数系统级包管理工具都应能够轻松安装一个版本的 phpdbg
。例如,在 Homebrew 中,可以像这样安装 phpdbg
brew tap homebrew/homebrew-php && brew install php71 --with-phpdbg
安装后,可以在执行脚本(包括 peridot
二进制文件)时使用 phpdbg -qrr
代替 php
,从而生成代码覆盖率
phpdbr -qrr vendor/bin/peridot --reporter spec --reporter html-code-coverage
上述命令将在套件运行时打印 spec-style 输出,并在套件完成后生成 HTML 覆盖率报告。
使用 xdebug
由于与 phpdbg
相比性能显著下降,不再推荐使用 xdebug
。如果无法使用 phpdbg
,只需确保在运行 peridot
时已启用 xdebug
扩展即可。
vendor/bin/peridot --reporter spec --reporter html-code-coverage
上述命令将在套件运行时打印 spec-style 输出,并在套件完成后生成 HTML 覆盖率报告。