Ошибка PhpUnit в PhpStorm с кодом выхода 255 в проекте Symfony 2

У меня возникли проблемы с тем, что phpunit работает внутри проекта Symfony в PhpStorm. phpunit -c app отлично работает в терминале OSX.

Вот ошибка:

 Unable to attach test reporter to test framework of test framework quit unexpectedly /Applications/MAMP/bin/php/php5.4.4/bin/php/private/var/folders/4l/hw8g4qlj6nnc37lfkc6hcj7w0000gn/T/ide-phpunit.php --bootstrap /Users/greg/Repos/MyApp/app/bootstrap.php.cache --configuration /Users/greg/Repos/MyApp/app/phpunit.xml.dist MyApp\MyBundle\Tests\Controller\MyControllerTest /Users/greg/Repos/MyApp/src/HvH/MyBundle/Tests/Controller/MyControllerTest.php Testing started at 11:45 AM ... Process finished with exit code 255 

Изменить: Вот ошибка из журнала PHP:

 Fatal error: Uncaught exception 'InvalidArgumentException' with message 'The "app/" directory does not exist.' in /Users/greg/Repos/MyApp/vendor/symfony/symfony/src/Symfony/Component/Finder/Finder.php:650 

Я столкнулся с той же проблемой и нашел следующее решение в документации: http://symfony.com/doc/current/book/testing.html#your-first-functional-test

Для запуска ваших функциональных тестов класс WebTestCase загружает ядро ​​вашего приложения. В большинстве случаев это происходит автоматически. Однако, если ваше ядро ​​находится в нестандартном каталоге, вам необходимо изменить файл phpunit.xml.dist, чтобы установить переменную среды KERNEL_DIR в каталог вашего ядра:

 <phpunit> <!-- ... --> <php> <server name="KERNEL_DIR" value="/path/to/your/app/" /> </php> <!-- ... --> </phpunit> 

Поэтому проверьте конфигурационный файл phpunit.xml.dist и попробуйте добавить абсолютный путь к вашему каталогу приложений.

Надеюсь, поможет.

PhpStorm не всегда создает экземпляр тестового приложения из корня проекта, чтобы исправить это, добавив абсолютный путь к корню проекта в разделе «пользовательский рабочий каталог» в конфигурации run / debug. Это избавит вас от необходимости добавлять абсолютный путь к приложению в config phpunit.xml.dist, он также обеспечит обнаружение любого файла относительного пути (например, тестовых данных JSON).

Шаги, чтобы заставить его работать (тест в PHPStorm 8.0.1):

1) В Preferences > PHP > PHPUnit убедитесь, что ничего не установлено для файла конфигурации по умолчанию или файла начальной загрузки по умолчанию.

2) Создайте пользовательскую конфигурацию PHPUnit через Run > Edit Configurations > в подразделе Command Line и убедитесь, что:

a) установить Custom working directory: быть /absolute/path/to/vendor .

б) установите флажок «Использовать альтернативный файл конфигурации» и установите его в /absolute/path/to/vendor/your_app/(sub_app_if_applicable)/phpunit.xml.dist

Затем вы можете запустить любой тестовый класс в пакете, указав класс и файл, или просто отметьте «Определено в файле конфигурации», чтобы запустить все из них в соответствии с конфигурацией.

Я столкнулся с тем же вопросом. Если вы используете yii2 / phpStorm, попробуйте выбрать codeception.yml вместо unit.yml разделе «альтернативный файл конфигурации» в разделе конфигурации отладки.