加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHPUnit和C.R.A.P索引

发布时间:2020-12-13 14:05:13 所属栏目:PHP教程 来源:网络整理
导读:我正在使用php undercontrol,代码浏览器会在每个设置器/ getter(即这样的代码)上报告一些CRAP索引错误 public function getFoo(){ return $this-_foo;} getter / setter被单元测试所覆盖,复杂性是没有的,因为没有if / for / switch / foreach.所以为什么我得
我正在使用php undercontrol,代码浏览器会在每个设置器/ getter(即这样的代码)上报告一些CRAP索引错误
public function getFoo()
{
    return $this->_foo;
}

getter / setter被单元测试所覆盖,复杂性是没有的,因为没有if / for / switch / foreach.所以为什么我得到该代码的CRAP索引为1?

PS:自己回答自己可能是因为复杂性是没有的,但是我的主要问题是每个getter / setter都会因为CRAP索引而产生一个警告,所以无论如何,告诉phpunit / php代码覆盖,使CRAP等于0为函数具有0复杂度指数.

CRAP的最小分数为1,而不是0.这是因为CRAP的算法是
CRAP(m) = comp(m)^2 * (1 – cov(m)/100)^3 + comp(m)

并且函数的最小环复合度(comp)值是一.所以问题不在于phpunit,而是将1的CRAP标记为问题.

一般来说,您希望将CRAP阈值设置在5点左右,任何地方都会降低,您也可以使用简单的代码覆盖率(并拍摄100%),因为复杂度几乎不重要.CRAP => = 30意味着没有数量的测试可以使您的方法不肮脏.

一般来说,循环复杂性(但是有不止一个定义)可以手动计算为:

>为函数调用添加1点>为每个循环添加1点>为每个分支添加1点

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读