要求:如何排除代码覆盖率的文件/代码块使用Netbeans/PHPStorm/PHPUnit的整合
- 使用PHPUnit的Netbeans(6.9)
- 编辑:同样适用,例如,PHPStorm
如何:
- 排除从代码海湾线愤怒。
- 从代码覆盖率中排除代码块(行)。
要求:如何排除代码覆盖率的文件/代码块使用Netbeans/PHPStorm/PHPUnit的整合
如何:
如果您试图实现100%的代码覆盖率,但有一行或多行您无法测试,则可以使用特殊注释将它们包围。代码覆盖率报告中将忽略它们。
if (($result = file_get_contenst($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>
您的问题是关于排除上面不会执行的行和块 - 它会忽略整个文件。另外,如果您使用白名单(我的公司),则黑名单将被忽略。 – 2011-02-08 03:11:30
哎呀,谢谢大卫。这个问题很久以前就被问及它所说的文件中的标题。但是,谢谢你的信息。 – Alfred 2011-02-08 13:30:09
要忽略方法的代码块:
/**
* @codeCoverageIgnore
*/
function functionToBeIgnored() {
// function implementation
}
要忽略类代码块:
/**
* @codeCoverageIgnore
*/
class Foo {
// class implementation
}
而作为@大卫 - 哈克尼斯说,忽略各行:
// @codeCoverageIgnoreStart
print 'this line ignored for code coverage';
// @codeCoverageIgnoreEnd
更多信息,可以在PHPUnit Documentation被发现忽略代码块标题下。
我有一个旧版本的PHPUnit,所以代码没有工作。我明白了,但谢谢。即使更好的解决方案是使用phpunit.xml =>我张贴答案.. – Alfred 2011-02-07 02:15:50
确认与PHPStorm:需要移动结束标记后面的括号。 – tivnet 2015-06-04 19:40:24