Настройка белых списков в PHPUnit - PullRequest
3 голосов
/ 21 июня 2011

Я сталкиваюсь со следующей проблемой при настройке белого списка для php:

Я установил следующий фильтр в phpunit xml:

<filter>
    <whitelist>
        <directory suffix=".php">../..</directory>
        <exclude>
            <directory>../../cache</directory>
            <directory>../../public_html</directory>
            <directory>../../temp</directory>
            <directory>../../tools</directory>
        </exclude>
    </whitelist>
</filter>

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

РЕДАКТИРОВАТЬ При запуске система определяет некоторые константы. Так как эти константы не определены, когда они включают все данные для создания белого списка, он пытается получить доступ к папке, которой не существует (PHP предполагает, что константа является строкой), таким образом, require_once завершается ошибкой, и, учитывая, что это требование, он падает.

Кроме того, в случае какой-либо помощи белый список используется для использования с Selenium . Может быть, это источник проблемы?

1 Ответ

4 голосов
/ 21 июня 2011

Хорошо, чтобы собрать информацию о покрытии кода, система должна потребовать все файлы, чтобы обеспечить ожидаемое поведение.(Технически он не имеет to, но он есть)

Если вы используете require_once, это не должно быть проблемой, так как phpunit также использует "_once" для запроса файлов.

Мы используем белый список в кодовой базе, полной операторов require_once, и единственная проблема, с которой я столкнулся, это наличие класса, который был определен в двух местах.

...