Как покрытие кода PHPUnit может игнорировать мой автозагрузчик?
У меня есть загрузчик в моем конфиге phpunit, который запускает Zend\Loader\StandardAutoloader.php
, Я могу получить покрытие кода PHPUnit, чтобы игнорировать его при добавлении
<filter>
<blacklist>
<directory suffix=".php">/absolute/path/to/zf</directory>
</blacklist>
</filter>
в XML-файл конфигурации PHPUnit. Но я должен указать абсолютный путь. Я хочу, чтобы это был относительный путь, но PHPUnit не игнорирует папку Zend в покрытии кода. Я не хочу добавлять другое местоположение, когда я работаю дома, и я не хочу, чтобы другие разработчики добавляли свои собственные пути. Zend Framework находится в php.ini include_path
настройка, но это не работает:
<filter>
<blacklist>
<directory suffix=".php">./Zend</directory>
</blacklist>
</filter>
Какие-либо предложения?
2 ответа
Вы можете исключить пути из покрытия кода с помощью <exclude>...</exclude>
директива в вашем <filter><whitelist>
:
<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>