Phpunit 如何忽略类加载器的代码覆盖率?

Phpunit 如何忽略类加载器的代码覆盖率?,phpunit,code-coverage,Phpunit,Code Coverage,当我为我的PHP项目生成代码覆盖率时,我总是得到Symfony自动加载程序 <?php require_once(__DIR__. str_repeat(DIRECTORY_SEPARATOR. '..', 1) . DIRECTORY_SEPARATOR . 'vendor'. DIRECTORY_SEPARATOR . 'autoload.php'); 我尝试将此添加到我的PHPUnit配置中,但没有成功: <filter> <blacklist>

当我为我的PHP项目生成代码覆盖率时,我总是得到Symfony自动加载程序

<?php

require_once(__DIR__. str_repeat(DIRECTORY_SEPARATOR. '..', 1) . DIRECTORY_SEPARATOR . 'vendor'. DIRECTORY_SEPARATOR . 'autoload.php');
我尝试将此添加到我的PHPUnit配置中,但没有成功:

<filter>
    <blacklist>
        <directory>/Symfony/Component</directory>
    </blacklist>
</filter>

/Symfony/组件

首先,您没有指定后缀属性来搜索黑名单中特定类型的文件

应该如此

<filter>
    <blacklist>
        <directory suffix=".php">/Symfony/Component</directory>
    </blacklist>
</filter>

/Symfony/组件
若这不适用于您,那个么您可以在白名单块中使用exclude标记

<filter>
    <whitelist>
        <directory suffix=".php">../src/library/</directory>
        <!-- add more directories -->
        <exclude>
            <directory suffix=".php">./Zend/</directory>
            <!-- add more directories with relative or absolute path -->
        </exclude>
    </whitelist>
</filter>

../src/library/
/曾/

参考资料:

我正在使用composer,并尝试了几种变体,包括白名单中的排除:

因此,我的目录结构是:

...
/project/tests
/project/vendor
/project/vendor/composer
...
我试图让白名单发挥作用:

<whitelist>
    <exclude>
        <directory suffix=".php">..\vendor\composer\</directory>
        <directory suffix=".php">../vendor/composer/</directory>
        <directory suffix=".php">..\composer\</directory>
        <directory suffix=".php">../composer/</directory>
    </exclude>
</whitelist>

..\vendor\composer\
../vendor/composer/
..\作曲家\
../composer/
那是行不通的。但这确实:

<filter>
    <blacklist>
        <directory suffix=".php">../vendor/composer</directory>
    </blacklist>
</filter>

../vendor/composer
我的配置xml文件与加载到composer的autoloader中的引导文件一起位于tests文件夹中

<?php

require_once(__DIR__. str_repeat(DIRECTORY_SEPARATOR. '..', 1) . DIRECTORY_SEPARATOR . 'vendor'. DIRECTORY_SEPARATOR . 'autoload.php');

我尝试添加后缀,但没有成功。我打算尝试白名单方法(虽然在我看来黑名单方法应该可以工作),但不确定在eclipse中运行项目时的路径是什么。