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
Ответы
Ответ 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 не понимал, что файл необходимо повторно импортировать.