【发布时间】:2012-08-07 01:48:47
【问题描述】:
我的目标是非常高的代码覆盖率,并希望覆盖异常类或将它们排除在代码覆盖率报告之外。
示例代码
class My_DataException extends Exception
{}
class Foo
{
function __construct() { throw new My_DataException('see?'); }
}
如何获得 My_DataException 的代码覆盖率(在 library/My/DataException.php 中)或将文件排除在代码覆盖率报告中?我不想使用注释方法(@codeCoverageIgnore 或类似的方法)。
我的 phpunit.xml 定义了一个黑名单,没有白名单
<filter>
<blacklist>
<directory suffix="Exception.php">../library/</directory>
</blacklist>
</filter>
每个异常文件都将以“Exception.php”结尾,所以我不确定为什么后缀部分不起作用。
其他细节:
- 这不是关于合适的覆盖范围的问题
- 我宁愿不要在每个异常文件中使用注解方法
- 每个异常文件都将以“Exception.php”结尾,例如。 My/Exception.php 或 My/DataException.php
【问题讨论】:
-
您使用的是什么版本(php、xdebug、phpunit、php-codeCoverage)?对我来说,没有可执行代码的异常不会出现在覆盖率报告中。请参阅:dl.dropbox.com/u/3615626/stackoverflow/… 运行
phpunit --coverage-text(或 html)只显示一个文件,而不是例外。 -
PHPUnit 3.6.10。 PHP 5.3.10-1ubuntu3.2,Xdebug v 2.1.3。不确定“php-codeCoverage”... n/a?
标签: php phpunit code-coverage