PHPUnit和C.R.A.P索引

前端之家收集整理的这篇文章主要介绍了PHPUnit和C.R.A.P索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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点

猜你在找的PHP相关文章