Белый и черный списки PHPUnit, похоже, игнорируются

Я настраиваю PHPUnit для проекта, который структурирован следующим образом:

- build
- src
- service # PHP source code files here
- tests
- php
- unit # PHP unit tests here
- bootstrap.php # PHP unit tests here
- services
- MyTest.php
- ...
- vendor

Я создал следующий файл конфигурации PHPUnit, который находится в корне проекта:

<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.4/phpunit.xsd"bootstrap="tests/php/unit/bootstrap.php"verbose="true">

<testsuites>
<testsuite name="services">
<directory>tests/php/unit/services</directory>
</testsuite>
</testsuites>

<filter>
<whitelist>
<directory>src/service</directory>
</whitelist>
</filter>

<logging>
<log type="coverage-html" target="build/php/coverage"/>
<log type="coverage-clover" target="build/php/coverage.xml"/>
<log type="junit" target="build/php/test-results.xml"/>
</logging>
</phpunit>

Я хочу использовать белый список, чтобы PHPUnit не проверял внепроектные файлы PHP, такие как файлы в vendor каталог … Но, глядя на отчет о покрытии кода, кажется, что белый список не учитывается:

Покрытие кода

Как видно на захвате tests а также vendor записаны как покрытые 0%, хотя они не должны анализироваться, поскольку они не принадлежат к белому списку. «2% файлов» src Этот каталог соответствует единственному тесту, который я написал, поэтому охват кода кажется правильным для этого.

Как я могу сделать src/service действительно быть единственным каталогом, который нужно проанализировать для расчета покрытия кода?

Я использую PHP 5.4.3 и PHPUnit 4.4.5.

7

Решение

Задача решена. Тот факт, что я не использую параметр processUncoveredFilesFromWhitelist, подразумевает, что, за исключением случаев, когда я явно помещаю каталоги в белый список, они не будут анализироваться на предмет покрытия. Так что в моем случае черный список кажется бесполезным, так как учитываются только элементы в белом списке; и если я хочу исключить подкаталоги из этого белого списка, я могу использовать тег.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]