beporter/coverage-ensure

PHP CLI 脚本,读取 clover.xml 覆盖率报告,当覆盖率低于指定阈值时返回非零值。适用于与 Travis CI、Circle CI 和 Jenkins 等自动化测试/构建工具一起使用。

1.1.0 2018-07-22 17:32 UTC

This package is auto-updated.

Last update: 2024-09-29 05:27:51 UTC


README

一个 composer 包,提供了一个 PHP CLI 脚本,可以读取 clover.xml 覆盖率报告,并在覆盖率低于指定阈值时返回非零值。适用于与 Travis CI、Circle CI 和 Jenkins 等自动化测试/构建工具一起使用。

需求

  • PHP 7.0+
    • php-xdebug 扩展
    • phpunit,用于生成代码覆盖率报告

安装

# In your project:
$ composer require --dev beporter/php-coverage-ensure

用法

在调用脚本之前,您必须为项目生成一个 clover 覆盖率报告。这可以使用 PHPUnit 完成。

$ vendor/bin/phpunit --coverage-clover tmp/clover.xml

然后,通过提供 clover XML 覆盖率报告文件的路径和一个可选的最小可接受百分比来调用脚本。

$ vendor/bin/coverage-ensure tmp/clover.xml 80

高级用法

如果您希望 PHPUnit 总是生成一个 clover 报告,您还可以将以下块添加到您的 phpunit.xmlphpunit.xml.dist 文件中

<?xml version="1.0" encoding="UTF-8"?>
<phpunit
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.3/phpunit.xsd"
>
    <!-- ... -->

    <!-- Always generate a clover coverage report. -->
    <logging>
        <log type="coverage-clover" target="tmp/clover.xml"/>
    </logging>

</phpunit>

此包还包括一个辅助脚本,可以读取您的 phpunit 配置文件以确定 clover 报告文件的位置

$ vendor/bin/coverage-ensure `vendor/bin/clover-path-from-phpunit` 80

贡献

行为准则

请注意,该项目以贡献者行为准则的形式发布。通过参与此项目,您同意遵守其条款。 翻译可用

报告问题

请使用 GitHub Issues 列出任何已知缺陷或问题。

开发

请分支此存储库,创建一个新的分支,并为您的工作提交 pull request

致谢

这项工作最初是在 loadsys/cakephp-shell-scripts 的一个部分中完成的,并将其分出来以便于更广泛的移植/重用。

许可证

MIT

版权

版权所有 © 2018 Brian Porter