我的phpunit配置中有一个运行Zend'Loader'StandardAutoloader.php
的引导程序。当我添加时,我可以获得PHPUnit代码覆盖率以忽略它
<filter>
<blacklist>
<directory suffix=".php">/absolute/path/to/zf</directory>
</blacklist>
</filter>
到PHPUnit配置XML文件。但我必须指定一条绝对路径。我希望它是一个相对路径,但PHPUnit并没有忽略代码覆盖范围中的Zend文件夹。当我在家工作时,我不想添加不同的位置,我也不希望其他开发人员添加自己的路径。Zend框架位于php.ini include_path
设置中,但这不起作用:
<filter>
<blacklist>
<directory suffix=".php">./Zend</directory>
</blacklist>
</filter>
有什么建议吗?
您可以使用<filter><whitelist>
:中的<exclude>...</exclude>
指令从代码覆盖范围中排除路径
<filter>
<whitelist>
<directory suffix=".php">../src/library/</directory>
<!-- add more directories -->
<exclude>
<directory suffix=".phtml">./src/application/</directory>
<directory suffix=".php">./Zend/</directory>
<!-- add more directories with relative or absolute path -->
</exclude>
</whitelist>
</filter>
实际上,这也可以通过黑名单来实现。路径需要相对于测试目录。
这在我的项目中起到了作用:
<filter>
<blacklist>
<directory suffix=".php">../../../cache</directory>
</blacklist>
</filter>