phpunit file coverage inspection
v2.2.2
允许为每个文件定义代码覆盖率规则的工具。为每个文件设置最小覆盖率阈值,如果当前测试覆盖率尚未达到标准,则为现有文件配置自定义最小覆盖率。检查失败将以checkstyle格式输出,允许在ci/cd工具中导入。
标准覆盖率计算是在整个代码库上计算的。例如,如果阈值是 80%,而一个文件下降到 80% 以下,您永远不会注意到这一点,因为总体覆盖率从 87.6% 变为 87.4%。该软件包可确保这种情况不再发生,并且覆盖范围是按文件计算的。
输入:三叶草覆盖率.xml
输出:checkstyle 或 gitlab
通过以下方式将库作为依赖项包含在您自己的项目中:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
文件: phpfci.xml
<?xml 版本=“1.0”编码=“UTF-8”?> <phpfci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="vendor/digitalrevolution/phpunit-file-coverage-inspection/resources/phpfci.xsd"min-coverage= “100”allow-uncovered-methods =“假”> <custom-coverage><!-- 基于目录的覆盖规则 --><directory path="src/Lib/" min="90"/><!-- 子目录将取代父目录规则 --><directory path ="src/Lib/Config/" min="100"/><!-- 文件规则将始终取代目录规则 --><file path="src/Lib/Config/File.php" min="80 ”/> </custom-coverage> <!-- 当“allow-uncovered-methods”设置为 false 时,覆盖特定文件的此行为:--><ignore-uncovered-methods> <文件路径=“src/Command/ExampleCommand.php”/> </忽略未发现的方法> </phpfci>
选项 | 必需的 | 默认 | 描述 |
---|---|---|---|
最小覆盖率 | 是的 | - | 全球最小覆盖范围 |
允许未覆盖的方法 | 不 | 错误的 | 所有方法都应该至少有一定的覆盖范围 |
或根据现有覆盖结果生成配置文件
php供应商/bin/phpfci基线--baseDir /home/ci/workspacecoverage.xml./phpfci.xml
将从coverage.xml 中的文件路径中减去基目录
检查样式格式:
php供应商/bin/phpfci检查coverage.xml --reportCheckstyle=reports/checkstyle.xml
gitlab格式:
php供应商/bin/phpfci检查coverage.xml --reportGitlab=reports/gitlab.errors.json
Gitlab 格式的文件和文本输出到 stdout:
php供应商/bin/phpfci检查coverage.xml --reportGitlab=reports/gitlab.errors.json --reportText
标准输出的文本格式:
php供应商/bin/phpfci检查coverage.xml php供应商/bin/phpfci检查覆盖率1.xml覆盖率2.xml
php供应商/bin/phpfci检查coverage.xml --reportText
选项 | 价值观 | 描述 |
---|---|---|
argument 1 | inspect , baseline | 要执行的命令。 |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | phpunit clover 覆盖率输入文件。 |
--reportGitlab=[<file>] | 文件路径或如果缺少标准输出 | 要写入 gitlab 格式的文件(或标准输出)。 |
--reportCheckstyle=[<file>] | 文件路径或如果缺少标准输出 | 要写入 checkstyle 格式的文件(或标准输出)。 |
--reportText=[<file>] | 文件路径或如果缺少标准输出 | 要写入 checkstyle 格式的文件(或标准输出)。 |
--config=<path-to-file> | phpfci.xml | 配置文件的路径。 |
--baseDir=<path> | 默认为输出文件的目录 | 项目的根目录将用于使路径相对。 |
--exit-code-on-failure | - | 出现故障时将退出代码设置为1 。 |
注意:如果没有设置--reportGitlab
、 --reportCheckstyle
或--reportText
,则默认为--reportText=php://stdout
第三个必需参数和--report
已被删除,应替换为: --reportGitlab=<file>
、 --reportCheckstyle=<file>
或--reportText=<file>
在 123inkt(Digital Revolution BV 的一部分),每天都有 50 多名开发专业人员致力于改进我们的内部 ERP 和我们的多家商店。你想加入我们吗?我们正在寻找开发商。