nebulosar/codeception-coverage-checker

Codeception的扩展。可以用来在测试覆盖率低于阈值时失败测试

1.0.0 2019-08-12 11:15 UTC

This package is auto-updated.

Last update: 2024-09-12 23:22:53 UTC


README

Codeception的扩展。可以用来在测试覆盖率低于阈值时失败测试。

它做什么

CoverageChecker是一个为Codeception制作的扩展。你可以使用这个简单的扩展让你的构建在代码覆盖率不够高时失败。如果你只需要从分析器中获取代码覆盖率检查,这就是你想要的。无需昂贵的云分析器!

示例
例如,你的Travis构建。通过运行你的测试并使用codeception,你可以看到你的代码是否仍然有效。现在,你还可以检查是否有足够的代码被这些测试覆盖!这个仓库就是这个的活生生的例子。

安装

你需要什么
Codeception
这是显而易见的,因为这是一个Codeception扩展。有关更多信息,请参阅扩展

XDebug
用于生成代码覆盖率报告。请访问XDebug下载页面以找到您的安装。如果您不确定需要哪个下载,可以使用XDebug向导找到正确的版本。

使用composer安装

composer require nebulosar/codeception-coverage-checker --dev

简单地将CoverageReporter添加到codeception.yml文件中

extensions:
  enabled:
    - Nebulosar\Codeception\CoverageChecker

还要确保您已启用Codeception的代码覆盖率选项

coverage:
  enabled: true
  check: lines

用法

要使用此扩展,您需要在运行测试时添加--coverage命令行选项。它的工作方式与您使用codeception为您生成覆盖率报告的方式相同。在您的codeception.yml文件中启用coverage标记就足够了。

配置选项

您可以在codeception.yml文件中的coverage标签下完成此插件的全部配置。以下是所有选项的示例。以下是对它们的解释。

coverage:
  enabled: true
  check:
    classes:
      low_limit: 65
      high_limit: 85
    methods:
      low_limit: 65
      high_limit: 85
    lines:
      low_limit: 65
      high_limit: 85

启用
这是默认的Codeception设置,当您想使用Codeception的覆盖率部分时,需要将其设置为true。在此阶段,CoverageChecker也监听此设置以确定是否检查覆盖率。

检查
这是扩展设置。当您添加此属性时,您可以选择三种类型:classesmethodslines。这决定了您想要检查的内容。如果您只对行覆盖率感兴趣,可以简单地使用check: lines,该扩展将正常工作。

限制 每种检查类型都有两个可能设置的属性。这些是low_limit(低限制)和high_limit(高限制)。

  • 当代码覆盖率低于低限制时,它将抛出CodeCoverageException,并且您的构建将失败。
  • 当代码覆盖率低于高限制时,它将向您发出警告。
  • 当代码覆盖率高于高限制时,它将向您显示一条消息,说明覆盖率高于限制,并且将以绿色显示(成功)。

如果您选择不提供限制,它将采用默认值,即60%(低限制)和80%(高限制)。

命令行选项

覆盖率选项
--coverage选项是必需的,但也可以用任何覆盖率选项代替。以下是可用的选项:

  • --coverage
  • --coverage-xml
  • --coverage-html
  • --coverage-text
  • --coverage-crap4j
  • --coverage-phpunit

颜色 一些人对事物喜欢保持平淡,并且对控制台输出非常认真。因此,添加了对 --no-colors 选项的支持。当使用此选项时,输出将无颜色。

支持

当你发现某些东西不像预期那样工作的时候
当你发现某些东西可以改进的时候
当你认为自己是一位整洁的开源程序员的时候

帮助所有人改进这个扩展!提交一个问题,重现步骤,如果你可以的话,提交一个带有建议修复的拉取请求!

许可

MIT
(请参阅许可页面)