henrikbjorn/phpspec-code-coverage

该软件包已被弃用,不再维护。未建议替代软件包。

将 CodeCoverage 与 PhpSpec 集成

3.0.1 2016-08-02 06:07 UTC

README

已弃用:为了看到测试的好坏,不应该将 CodeCoverage 与 spec 测试一起使用。因此,并且因为我本人不使用它,这个库已被弃用,不会收到任何更新等。对于维护的分支,您可以查看 leanphp/phpspec-code-coverage

使用 Composer 进行安装

composer require --dev henrikbjorn/phpspec-code-coverage

在您的 phpspec.yml 文件中启用它

extensions:
    - PhpSpecCodeCoverage\CodeCoverageExtension

现在运行您的 spec,使用正常的 phpspec run,voilà,您的代码覆盖率将可用在 coverage 中。

配置选项

通过 phpspec.yml,您可以通过添加一个选项的哈希到扩展键来稍微控制代码覆盖率如何进行。这是通过添加一个选项的哈希到扩展键来完成的。

  • whitelist 接受一个目录数组以将其列入白名单(默认:libsrc)。
  • whitelist_files 接受一个文件数组以将其列入白名单(默认:无)。
  • blacklist 接受一个目录数组以将其列入黑名单
  • blacklist_files 接受一个文件数组以将其列入黑名单
  • format(可选)可以是以下之一或多个:cloverphptexthtml(默认 html
  • output 接受相对于您运行 phpspec run 的位置的路径(默认:coverage)。如果您配置了多个格式,则接受格式:输出的哈希,例如。
extensions:
  PhpSpecCodeCoverage\CodeCoverageExtension:
    format:
      - html
      - clover
    output:
      html: coverage
      clover: coverage.xml
  • show_uncovered_files 用于在覆盖率报告中包括未覆盖的文件(默认 true
  • lower_upper_bound 用于覆盖率(默认 35
  • high_lower_bound 用于覆盖率(默认 70

注意:如果 clover 格式选项要求您同时设置输出位置!

使用 phpdbg 运行(PHP 7.x 及以上版本)

为了加快执行速度,使用 phpdbg 运行 phpspec,而不是 xdebug

phpdbg -qrr phpspec run

注意:如果使用 PHP 7,代码覆盖率扩展才能与 phpdbg 一起工作。在 PHP 5.6 中,phpdbg 缺少 phpdbg_start_oplog 函数,这是生成覆盖率所必需的。