2016-11-12 68 views
0

我有一个问题从phpunit/php-code-coverage获取覆盖率报告。获取没有phpunit的覆盖率报告

当我这样做:

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()函数,而不是包。 我不知道我是否必须做一些不同的事情才能实现这一目标。

回答

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'); 
相关问题