先安装xdebug
参考:https://blog.csdn.net/nece001/article/details/112713712
xdebug的这一项配置必须要有coverage,逗号间不能有空格!
xdebug.mode = debug,coverage
代码覆盖率
参考文档:(代码已过时,我在下面做了修改)
https://blog.csdn.net/galen2016/article/details/82791856
安装php-code-coverage
代码仓库:https://github.com/sebastianbergmann/php-code-coverage
安装命令:
composer require phpunit/php-code-coverage
在根目录新增一个prepend.php
<?php/*** Created by PhpStorm.* User: 灵枢* Date: 2018/9/5* Time: 下午5:02*/
require_once dirname(__FILE__) . '/vendor/autoload.php';use SebastianBergmann\CodeCoverage\CodeCoverage;
use SebastianBergmann\CodeCoverage\Driver\Xdebug3Driver;
use SebastianBergmann\CodeCoverage\Filter;$filter = new Filter;
$filter->includeDirectory('/path/to/directory');// 实例初始化做了修改
$coverage = new CodeCoverage((new Xdebug3Driver($filter)),$filter
);$coverage->start('<Site coverage>'); #开始统计
register_shutdown_function('__coverage_stop', $coverage); #注册关闭方法function __coverage_stop(CodeCoverage $coverage)
{$coverage->stop(); #停止统计$writer = new \SebastianBergmann\CodeCoverage\Report\Html\Facade;# 设置生成代码覆盖率页面的路径$writer->process($coverage, dirname(__FILE__) . '/coverage_html');
}
新建文件echoNumber.php,用来测试的覆盖率
<?php/*** Created by PhpStorm.* User: 灵枢* Date: 2018/8/31* Time: 下午3:18*/
include_once("prepend.php");
class echoNumber
{function add($a, $b){echo $a + $b . PHP_EOL;}function jian($a, $b){echo $a - $b . PHP_EOL;}function cheng($a, $b){echo $a * $b . PHP_EOL;}function chu($a, $b){echo $a / $b . PHP_EOL;}function call($a, $b){$this->add($a, $b);}
}$f = new echoNumber();
$f->add(3, 4);
$f->cheng(2, 3);
$f->call(5, 6);
运行命令:
d:> php echoNumber.php
运行后就会在根目录下新增一个文件夹,用来存放生成html报告