Подтвердить что ты не робот

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

Я изучаю канаты с помощью приложений тестирования Zend Framework. До сих пор я настраивал PHPUnit для работы с Zend Framework и начал писать несколько простых тестовых случаев.

Моя проблема в том, что мне интересно, почему Code Coverage не работает, несмотря на то, что он установлен в теге журнала в моем phpunit.xml.

Я не получаю никаких ошибок, но отчет о покрытии не создается.

Однако он работает, когда я запускаю phpunit --coverage <dir>

Раздел ведения журнала моего phpunit выглядит следующим образом:

<phpunit bootstrap="./application/bootstrap.php" colors="true">
        <testsuite name="CI Test Suite">
            <directory>./</directory>
        </testsuite>
        <testsuite name="Library Test Suite">
            <directory>./library</directory>
        </testsuite>

        <filter>
            <whitelist>
                <directory suffix=".php">../application/</directory>
                <exclude>
                    <directory suffix=".phtml">../application</directory>
                    <file>../application/Bootstrap.php</file>
                    <file>../application/controllers/ErrorController.php</file>
                </exclude>
            </whitelist>
           <logging>
               <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true"
   highlight="true" lowUpperBound="50" highLowerBound="80" />
               <log type="testdox" target="./log/testdox.html" />    
           </logging>
        </filter>
    </phpunit>

Кто-нибудь сталкивался с этим раньше? В чем же проблема?

4b9b3361

Ответ 1

Вот phpunit.xml для одного из моих проектов, это прекрасно работает. Как вы можете видеть, раздел журнала находится за пределами секции фильтра, так что это, вероятно, ваша проблема, как прокомментировал Марк Бейкер. Я выбрал этот вариант, как из небольшого проекта, и очень прост.

<phpunit bootstrap="./bootstrap.php" colors="false">
    <testsuite name="HSSTests">
        <directory>./</directory>
    </testsuite>

    <filter>
        <whitelist>
            <directory suffix=".php">d:/wamp/app_hss/</directory>
            <exclude>
                <directory suffix=".phtml">d:/wamp/app_hss/</directory>
                <directory suffix=".php">d:/wamp/app_hss/tests/</directory>
            </exclude>
        </whitelist>
    </filter>

    <logging>
        <log type="coverage-html" target="./log/codeCoverage" charset="UTF-8"
            yui="true" highlight="true"
            lowUpperBound="50" highLowerBound="80"/>
        <log type="testdox-html" target="./log/testdox.html" />
    </logging>
</phpunit>

Вся информация, которая вам когда-либо понадобится, находится в руководстве PHPunit.