PHPUnit-исключение некоторых каталогов из покрытия кода в командной строке


Я работаю над проектом, который основан на Yii framework, и у нас есть много тестов, которые мы добавили программно в test suite, поэтому мы не используем phpunit.xml-файл для настройки тестов.

Вопрос в том, как бы я исключил некоторые каталоги из отчетов о покрытии кода(например, папку Yii). Большинство решений, которые я нашел, основаны на опции конфигурации черного списка/белых списков в xml-файле.

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

1   11   2012-02-23 15:58:33

1 ответ:

--filter используется для фильтрации тестов, выполняемых в текущем запуске phpunit.

Вы можете использовать его так сказать " только выполнить --filter MyTestClass или --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest, но это не имеет ничего общего с покрытием кода.

--filter не имеет ничего общего с <filter> в конфигурации xml, даже если они имеют одно и то же имя:)


Единственный способ исключить файлы из отчета о покрытии кода-это использовать белый список / черный список.

Если вы используете whitelist в своей собственной папке source, это должно сделать работа в большинстве случаев.

Белый список документов:

Http://phpunit.de/manual/current/en/phpunit-book.html#appendixes.configuration.blacklist-whitelist

Пример:

  <filter>
    <whitelist addUncoveredFilesFromWhitelist="true">
      <directory suffix=".php">src</directory>
    </whitelist>
  </filter>