почему PHPUnit пытается найти файл с именем testuite?

У меня это в файле phpunit.xml:

<phpunit ...> <testsuites> <testsuite name="MyTests"> <directory>../path/to/some/tests</directory> </testsuite> </testsuites> ... // more settings for <filter> and <logging> </phpunit> 

И когда я иду запустить его, я получаю эту ошибку:

 PHP fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "MyTests.php" nor "MyTests.php" could be opened.' 

Почему PHPUnit дает мне эту ошибку и почему она ищет «MyTests.php», если я дал ей каталог для поиска тестов?

И в связанной заметке, когда я добавляю больше записей <testsuite> с другими тестами, PHPUnit работает без ошибок. Что с этим?

Solutions Collecting From Web of "почему PHPUnit пытается найти файл с именем testuite?"

По умолчанию PHPUnit добавит «все *Test классы, которые находятся в *Test.php файлах *Test.php » (см. Документы PHPUnit ). Если он не находит файлы, соответствующие этому описанию (например, файл SomeTest.php определяющий класс SomeTest ), он возвращается к SomeTest файла на основе атрибута имени набора тестов.

Решение состоит в том, чтобы создать файл, соответствующий этому описанию, чтобы PHPUnit не возвращался к по умолчанию поиска по имени testuite:

 <?php // in ../path/to/some/tests/SomeTest.php: class SomeTest extends PHPUnit_Framework_TestCase { public function test() { //... test cases here } } ?> 

Теперь вы можете запустить phpunit без ошибок:

 $ phpunit PHPUnit 3.5.14 by Sebastian Bergmann. . Time: 0 seconds, Memory: 10.75Mb OK (1 test, 0 assertions) 

Он будет работать без ошибок, если вы добавите дополнительные записи testsuite если PHPUnit сможет найти соответствующие тестовые примеры для запуска в этих других наборах. Если он найдет тесты для запуска в любом тесте testuite, он не прибегнет к поиску по атрибуту name для наборов, для которых он ничего не может найти.

Я считаю, что проблема заключается в том, что вы не говорите, какие файлы содержат тестовые примеры и / или сюиты, которые вы хотите запустить. Попробуйте добавить атрибут suffix="Test.php" .

 <testsuite name="MyTests"> <directory suffix="Test.php">../path/to/some/tests</directory> </testsuite>