tomzx/php-code-coverage-verifier

PHP 代码覆盖率验证器

dev-master 2016-03-23 12:15 UTC

This package is auto-updated.

Last update: 2024-09-10 06:44:41 UTC


README

License Latest Stable Version Latest Unstable Version Build Status Code Quality Code Coverage Total Downloads

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 diffgit 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
    • 文本(更好)

许可证

代码根据 MIT 许可证 许可。请参阅 LICENSE