Как исключить файлы / блоки кода из покрытия кода с интеграцией Netbeans / PHPStorm / PHPUnit - PullRequest
20 голосов
/ 08 июля 2010

Требования:

  • NetBeans с PHPUnit (6,9)
  • РЕДАКТИРОВАТЬ: То же самое относится, например, к PHPStorm

Как:

  • Исключить строки из покрытия кода.
  • Исключить кодовые блоки (строки) из покрытия кода.

Ответы [ 3 ]

41 голосов
/ 09 февраля 2014

Чтобы игнорировать блоки кода метода:

/**
 * @codeCoverageIgnore
 */
function functionToBeIgnored() {
    // function implementation
}

Чтобы игнорировать блоки кода класса:

/**
 * @codeCoverageIgnore
 */
class Foo {
    // class implementation
}

И, как сказал @ david-harkness, игнорировать отдельные строки:

// @codeCoverageIgnoreStart
print 'this line ignored for code coverage';
// @codeCoverageIgnoreEnd

Дополнительную информацию можно найти в Документация PHPUnit под Игнорирование блоков кода .

27 голосов
/ 07 февраля 2011

Если вы пытаетесь достичь 100% покрытия кода, но у вас есть одна или несколько строк, которые вы не можете проверить, вы можете окружить их специальными аннотациями. Они будут игнорироваться в отчете о покрытии кода.

if (($result = file_get_contenst($url)) === false) {
    // @codeCoverageIgnoreStart
    $this->handleError($url);
    // @codeCoverageIgnoreEnd
}

Редактировать: Я обнаружил, что Xdebug часто считает закрывающую фигурную скобку исполняемой. :( Если это произойдет, переместите конечный тег под ним.

3 голосов
/ 07 февраля 2011

Сначала убедитесь, что у вас установлена ​​последняя и самая лучшая версия phpunit, иначе игнорируемый код может отсутствовать. Затем создайте файл phpunit.xml, который будет выглядеть примерно так:

<phpunit colors="true">
    <filter>
        <blacklist>
            <file>file1.php</file>
            <file>file2.php</file>
        </blacklist>
    </filter>
</phpunit>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...