【问题标题】:Get coverage report without phpunit在没有 phpunit 的情况下获取覆盖率报告
【发布时间】:2016-11-12 12:32:46
【问题描述】:

我在从 phpunit/php-code-coverage 获取覆盖率报告时遇到问题。

当我这样做时:

xdebug_start_code_coverage();
// code
print_r(xdebug_get_code_coverage());

我按预期获得了覆盖率信息。我决定使用 phpunit/php-code-coverage 来处理结果的导出。我正在尝试使用存储库中建议的方法:

$coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage;
$coverage->start();
// code
$coverage->stop();
$writer = new \SebastianBergmann\CodeCoverage\Report\Clover;
$writer->process($coverage, '/tmp/clover.xml');

那么结果是空的。当我使用xdebug_get_code_coverage() 查看是否有结果时,也是空的。如果我删除 $coverage->stop() 我会得到结果,但只是使用 xdebug_get_code_coverage() 函数,而不是使用包。 我不知道我是否必须做一些不同的事情才能使它正常工作。

【问题讨论】:

    标签: php code-coverage xdebug


    【解决方案1】:

    需要一个额外的步骤。将您想要覆盖的文件添加到白名单中。

    $driver = \SebastianBergmann\CodeCoverage\Driver\Xdebug;
    $filter = new \SebastianBergmann\CodeCoverage\Filter;
    $filter->addDirectoryToWhitelist('/directory');
    $coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage($driver, $filter);
    $coverage->start();
    // code
    $coverage->stop();
    $writer = new \SebastianBergmann\CodeCoverage\Report\Clover;
    $writer->process($coverage, '/tmp/clover.xml');
    

    【讨论】:

      猜你喜欢
      • 2016-01-28
      • 2014-04-16
      • 2019-04-24
      • 2021-04-13
      • 2012-08-23
      • 2013-09-25
      • 2014-09-01
      • 1970-01-01
      • 2011-03-09
      相关资源
      最近更新 更多