Подтвердить что ты не робот

PhpStorm PhpUnit через автозаполнение phar не работает

У меня есть PHPStorm 8.0.1.

PHPUnit устанавливается через архив PHAR, например:

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/bin/phpunit

PHPUnit работает через cli:

[email protected]:/usr/bin$ cd ~
[email protected]:~$ phpunit --version
PHPUnit 4.3.5 by Sebastian Bergmann.

Я выполнил инструкции с сайта JetBrains https://www.jetbrains.com/phpstorm/webhelp/enabling-phpunit-support.html#d298258e897

В вкладке PHPStorm File- > Settings PHP/PHPUnit установлен переключатель Path to phpunit.phar и значение установлено на /usr/bin/phpunit

У меня есть файл с тестом, определенным как:

class MyTest extends PHPUnit_Framework_TestCase {
...

В этот момент PHPStorm отмечает Undefined class PHPUnit_Framework_TestCase

Я перезапустил PHPStorm и компьютер, но все равно имею ту же проблему.

Я также попробовал добавить /usr/bin, чтобы включить путь (щелкните правой кнопкой мыши по внешним библиотекам в представлении проекта и выберите опцию Configure PHP include paths) без успеха.

Здесь конфигурация для настроек PHPStorm, вкладка PHP (если это имеет значение):

PHP Language level: 5.5 (finally, generators, etc.)
Interpreter: PHP 5.5 (5.5.9-1ubuntu4.5)
Include path is empty
4b9b3361

Ответ 1

Чтобы индексировать PHAR-архив с помощью IDE, он должен иметь расширение .phar (это требование).

Самое простое решение - разместить phpunit.phar где-то в вашем проекте (обычно это будет папка PROJECT_ROOT/vendor/).

Если локальная копия нежелательна (по какой-либо причине, хотя композитор и другие подобные инструменты (bower/npm/etc) в первую очередь направлены на то, чтобы локально хранить файлы/пакеты зависимостей, вы можете использовать символические ссылки: либо создайте символическую ссылку на этот файл локально (например, PROJECT_ROOT/phpunit.phar/usr/bin/phpunit).. или поместите полную копию (или такую ​​символическую ссылку) в отдельную папку где-нибудь на вашем диске, а затем ссылайтесь на нее через функциональность PhpStorm Settings | PHP | Include Paths.

Ответ 2

Вышеупомянутое исправление Calin также работает для меня на PhpStorm 2019.1.1, поэтому я опубликую его как ответ для облегчения видимости:

Попробуйте щелкнуть правой кнопкой мыши на .phar и выбрать "Исключить phar из проекта", затем нажмите "Включить phar в проект", чтобы обновить его.

В моем случае и файл .phar и моя папка .idea были извлечены из git commit. Я полагаю, что PhpStorm не понимал, что файл необходимо повторно импортировать.