tomzx / php-code-coverage-verifier
PHP 代码覆盖率验证器
dev-master
2016-03-23 12:15 UTC
Requires
- php: >=5.5
- symfony/console: ~2.7
Requires (Dev)
- phpunit/phpunit: ~4
This package is auto-updated.
Last update: 2024-09-10 06:44:41 UTC
README
PHP 代码覆盖率验证器 允许您确定您刚刚对 PHP 代码所做的更改是否被测试/覆盖。它使用从 phpunit 运行(或任何输出到 clover-xml 格式的其他代码覆盖率套件)生成的 clover-xml 报告以及包含您的更改的统一差异。然后 PHP 代码覆盖率验证器 将生成一个包含已覆盖和未覆盖更改的列表。
注意
当前代码处于非常原始的状态。这是作为一个概念验证来完成的,如果其他人有用,将会得到改进。
如何使用
PHP 代码覆盖率验证器 以 Composer 包的形式提供。您可以在项目的 composer.json 中包含它,并在控制台中使用。
在运行命令行之前,请确保使用 phpunit(或其他)运行您的测试并生成此处将使用的 clover xml 文件。例如,可以使用 phpunit --coverage-clover=my-clover.xml
使用 phpunit 生成 clover-xml 文件。
然后您需要生成您的更改的 diff。这里我们假设您将使用 svn diff
或 git diff
(TortoiseGIT/TortoiseSVN 的用户可以使用 "创建补丁...")生成这些 diff。
php vendor/bin/php-code-coverage-verifier verify --help
Usage:
verify [--display-not-covered-range[="..."]] clover-xml diff-file
Arguments:
clover-xml Path to the clover-xml file
diff-file Path to the diff-file
Options:
--display-not-covered-range Will display which line aren't covered (default: false)
--help (-h) Display this help message.
--quiet (-q) Do not output any message.
--verbose (-v) Increase verbosity of messages.
--version (-V) Display this application version.
--ansi Force ANSI output.
--no-ansi Disable ANSI output.
--no-interaction (-n) Do not ask any interactive question.
(当前)输出示例
php vendor/bin/php-code-coverage-verifier verify my-clover.xml my-diff.patch
Using clover-xml file: my-clover.xml
With diff file: my-diff.patch
Covered:
controller/admin/stocks.php line 15 - 21
controller/admin/stocks.php line 91 - 97
controller/search.php line 26 - 32
controller/search.php line 376 - 384
model/user.php line 34 - 41
model/user.php line 44 - 51
Not covered:
controller/account.php line 39 - 45
controller/admin/stocks.php line 27 - 33
controller/search.php line 36 - 42
controller/search.php line 187 - 193
model/user.php line 533 - 540
Ignored:
application/composer.json
Coverage: 40 covered (56.338%), 31 not covered (43.662%)
路线图
- 更多输出格式化程序
- XML
- HTML
- 文本(更好)