要求:
- 带有 PHPUnit(6.9) 的 Netbeans
- 编辑:同样适用于,例如,PHPStorm
如何:
- 从代码覆盖范围中排除行。
- 从代码覆盖范围中排除代码块(行)。
要求:
如何:
要忽略方法代码块:
/**
* @codeCoverageIgnore
*/
function functionToBeIgnored() {
// function implementation
}
要忽略类代码块:
/**
* @codeCoverageIgnore
*/
class Foo {
// class implementation
}
正如@david-harkness 所说,忽略个别行:
// @codeCoverageIgnoreStart
print 'this line ignored for code coverage';
// @codeCoverageIgnoreEnd
更多信息可以在忽略代码块标题下的PHPUnit 文档中找到。
如果您试图实现 100% 的代码覆盖率,但有一行或多行无法测试,您可以在它们周围加上特殊的注释。它们将在代码覆盖率报告中被忽略。
if (($result = file_get_contents($url)) === false) {
// @codeCoverageIgnoreStart
$this->handleError($url);
// @codeCoverageIgnoreEnd
}
编辑:我发现 Xdebug 经常认为右括号是可执行的。:( 如果发生这种情况,请将结束标签移到其下方。
首先确保您拥有最新最好的 phpunit,否则可能会丢失代码忽略。接下来创建一个phpunit.xml
看起来像这样的文件:
<phpunit colors="true">
<filter>
<blacklist>
<file>file1.php</file>
<file>file2.php</file>
</blacklist>
</filter>
</phpunit>