phpunit выдает исключение, когда не находит файл с именем testsuite - PullRequest
0 голосов
/ 13 марта 2012

Я следил за скринкастом Джона о модульном тестировании с PhpUnit и ZF , когда я получил точно такую ​​же ошибку, как ratzip, описанный в этом вопросе .

Как он прокомментировал, у меня тоже была такая же проблема даже после создания тестов, как предлагалось здесь : по какой-то причине был какой-то скрипт, который искал файл с именем, как я назвал мой набор тестов (MyApp.php или что угодно ...).

Я оглянулся, но не смог найти, где мне создать этот файл и что он должен содержать.

Но в определенный момент, прочитав этот вопрос о том, как запустить определенный phpunit xml testsuite , я решил попробовать подробно вставить файл в раздел testsuite.

Мой phpunit.xml сейчас:

<phpunit bootstrap="./application/bootstrap.php" colors="true">
<testsuites>
    <testsuite name="MyApp">
        <file>./application/(path_to_model_inside_module)/ModelTests.php</file>
        <directory>./</directory>       
    </testsuite>
</testsuites>

<filter>

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

</filter>

И даже если это кажется немного отчаянным, этой ошибки больше не происходит, и тест работает сейчас.

Но я чувствую себя неловко из-за этого, так как не могу понять, в чем была проблема раньше и почему это экспликация файла "исправила" это.

Я не могу понять, почему определение каталога xml не смогло помочь структуре тестирования найти существующий тест.

1 Ответ

1 голос
/ 14 марта 2012

Неустранимая ошибка PHP: неперехваченное исключение 'PHPUnit_Framework_Exception' с сообщением 'Ни "$ TEST_SUITE_NAME.php", ни "$ TEST_SUITE_NAME.php" не может быть открыто. "in ...

Это PHPUnits очень загадочный способ сказать

Он приятель!Небольшая проблема здесь: я пытался найти некоторые тесты для выполнения, но я не нашел ни одного, поэтому я попытался загрузить файл с именем, похожим на набор тестов, и даже не существует.Я не могу выполнить какие-либо тесты .. Вы можете помочь мне здесь?: (

Короче говоря, это:

После сканирования материала в вашем xml я не нашел никаких тестов!

Почему это происходит в вашем случае?

PHPUnit ищет файлы, заканчивающиеся на Test.php , но ваш файл заканчивается на TestS.php . Дополнительное "S" означаетPHPUnit НЕ подхватывает файл при сканировании каталога, поэтому добавление тега файла также помогает.

Переименуйте его в ModelTest.php, и вы сможете избавиться от тега file:)

Или, если вы хотите сохранить свои имена файлов, сообщите PHPUnit о своей схеме именования, используя:

  <directory suffix="Tests.php">./</directory>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...