如何使用Netbeans/PHPStorm/PHPUnit集成从代码覆盖中排除文件/代码块

Alf*_*red 23 phpunit netbeans code-coverage phpstorm

要求:

  • 使用PHPUnit的Netbeans(6.9)
  • 编辑:例如,同样适用于PHPStorm

如何:

  • 从代码覆盖范围中排除行.
  • 从代码覆盖范围中排除代码块(行).

bnp*_*887 50

要忽略方法代码块:

/**
 * @codeCoverageIgnore
 */
function functionToBeIgnored() {
    // function implementation
}
Run Code Online (Sandbox Code Playgroud)

要忽略类代码块:

/**
 * @codeCoverageIgnore
 */
class Foo {
    // class implementation
}
Run Code Online (Sandbox Code Playgroud)

正如@ david-harkness所说,忽略个别界限:

// @codeCoverageIgnoreStart
print 'this line ignored for code coverage';
// @codeCoverageIgnoreEnd
Run Code Online (Sandbox Code Playgroud)

可以在忽略代码块标题下的PHPUnit文档中找到更多信息.


Dav*_*ess 30

如果您尝试实现100%的代码覆盖率,但有一条或多条线无法测试,则可以使用特殊注释将它们包围起来.它们将在代码覆盖率报告中被忽略.

if (($result = file_get_contenst($url)) === false) {
    // @codeCoverageIgnoreStart
    $this->handleError($url);
    // @codeCoverageIgnoreEnd
}
Run Code Online (Sandbox Code Playgroud)

编辑:我发现Xdebug经常认为结束括号是可执行的.:(如果发生这种情况,请将结束标记移到它下面.