Почему PHPUnit не принимает определенный набор тестов XML? - PullRequest
3 голосов
/ 05 сентября 2011

Я следую за ZendCast для написания модульных тестов поверх Zend Framework. Между видео и несколькими другими источниками мой phpunit.xml выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./application/bootstrap.php" colors="true">

    <testsuites>
        <testsuite name="RefreshTests">
            <directory>./</directory>
        </testsuite>
    </testsuites>

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

    <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>

</phpunit>

К сожалению, когда я пытаюсь запустить PHPUnit с этим файлом, хотя я могу проверить, что файл "boostrap.php" работает, я получаю эту ошибку во время выполнения:

PHPUnit_Framework_Exception: ни «RefreshTests.php», ни «RefreshTests.php» не могут быть открыты. в C: \ Program Files (x86) \ php \ pear \ PHPUnit \ Util \ Skeleton \ Test.php в строке 102

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

Что я сделал неправильно?

1 Ответ

3 голосов
/ 06 сентября 2011

Ошибка означает, что phpunit не может найти ни одного тестового класса в каталоге "." во время его рекурсивного сканирования.

Если он не может найти какие-либо тестовые файлы, он пытается открыть файл .php с именем, подобным testsuite. Отсюда и ошибка.

Убедитесь, что ваши TestClasses оканчиваются на Test.php или добавьте suffix=".php" (или что-то еще) к вашему <directory> тегу и убедитесь, что файл содержит класс, который также оканчивается на Test.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...