Синтаксис для фильтрации путей покрытия кода (абсолютных) в PHPUnit - PullRequest
1 голос
/ 07 апреля 2011

Я просто тестирую модуль одним файлом, и хотя он единственный, который проходит модульное тестирование (хорошо), покрытие кода выполняется не только для этого файла (плохо). Он покрывает некоторые файлы в моем каталоге PEAR по какой-то причине, которую я пока не могу понять, поэтому все мои характеристики покрытия искажены.

Итак, я пытаюсь удалить эти дополнительные файлы, но не могу получить правильный формат для абсолютного каталога:

<phpunit>

<testsuites>
  <testsuite name="My Test Suite">
    <file>AntProxyTest.php</file>
  </testsuite>
</testsuites>

<logging>
  <log type="coverage-html" target="/tmp/report" charset="UTF-8"
       yui="true" highlight="false"
       lowUpperBound="35" highLowerBound="70"/>
</logging>

<filter>
  <blacklist>
     <directory suffix=".php">c:\php\pear</directory>
   </blacklist>
</filter>

</phpunit>

не исключает, как я хочу, либо косая черта, либо file: // c: /php/pear.

Ответы [ 2 ]

4 голосов
/ 07 апреля 2011

Я предполагаю, что phpunit имеет проблему с получением этого пути прямо в Windows, так как я не смог воспроизвести его в Linux. (Использование абсолютного и относительного пути работало нормально).

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

Итак, мое первое предложение - просто использовать белый список. Я создал небольшой проект, который включает в себя код из разных папок (и все они отображаются в покрытии кода).

Но после установки этого белого списка:

<filter>
  <whitelist>
     <directory suffix=".php">.</directory>
  </whitelist>
</filter>

только код из этой папки (или ваш файл, если он у вас есть) отображается в отчете о покрытии.

1 голос
/ 20 апреля 2011

Мне удалось поймать Себастьяна в IRC, случайно у кого-то еще были проблемы с занесением в черный список. Себастьян указал, что эти файлы PEAR, которые я вижу включенными, являются известной проблемой и будут исправлены в следующей версии.

Как указывал выше edorian, Себастьян также сказал, что в любом случае лучше всего занести в белый список то, что вы хотите, и при этом эта проблема исчезнет.

...