我可以隐藏私人&受PhpUnit代码覆盖率报告保护的方法?
我知道其他一些人建议人们应该“间接地”测试它们但我真的不关心它们是否被调用,我认为这对我来说完全是浪费时间为私有实用程序方法设置i(L,X,Y) :-
listof(Tup,interval_tuple(X,Y,Tup),L).
。
如果你需要看到,那么这是我的@covers
:
phpunit.xml
答案 0 :(得分:2)
嗯,据我所知,它不是PHPUnit功能,你必须fork php-code-coverage项目并编辑源代码。可能这不是你正在寻找的答案,但似乎这是目前唯一的选择。
令人欣慰的是,变化非常简单。您可以修改CodeCoverage::getLinesToBeIgnored
method并添加额外条件
if (get_class($token) == 'PHP_Token_FUNCTION') {
$methodVisibility = $token->getVisibility();
if ($methodVisibility == 'private' || $methodVisibility == 'protected') {
$endLine = $token->getEndLine();
for ($i = $token->getLine(); $i <= $endLine; $i++) {
self::$ignoredLines[$filename][$i] = TRUE;
}
}
}