Блог веб-разработчика v 1.0.0
Symfony2, AngularJS, React, Gulp, PhpStorm и много других страшных слов

Настройка удаленного PHPUnit в PhpStorm 8

10 лет назад
11429 просмотров
PhpStorm PHPUnit Symfony2

Новый PhpStorm предоставил возможность удаленного запуска PHPUnit, но настройка не слишком тривиальна. Однако, это того стоит, если вы не пользуетесь локальным веб-сервером для отладки.

Для примера возьмем сервер на Debian и проект на Symfony2. На самом деле подойдет любой сервер, но у меня только Debian под рукой.

Настройка Deployment

Для начала вам нужно настроить Deployment в проекте через SFTP. Это важный момент, т.к. иначе тестирование работать почему-то не будет (вероятно это баг с путем к файлам). Подробности расписывать не буду, т.к. есть отдельная статья про настройку FTP/SFTP в PhpStorm.

Настройка удаленного интерпретатора PHP (remote interpreter)

Это новая возможность PhpStorm 8, теперь PHP можно запускать не только локально, но и по SSH. Заходим в настройки (Ctrl + Alt + S) -> PHP. Возле селекта Interpreter нажимаем на многоточие и в появившемся окне жмем зеленый плюсик и выбиваем Remote. Во вновь появившемся окне нужно отметить Deployment configuration и выбрать ваше SFTP соединение. Так же нужно указать путь к PHP, если стандартный вам не подходит.

Нажимаем ОК. PhpStorm сам проверит подключение, проверит версию PHP, а так же загрузит некоторые свои вспомогательные скрипты. Если у вас установлен отладчик вроде XDebug, он так же будет автоматически определен.

Я для себя, в Configuration options дополнительно указываю memory_limit = -1, чтобы снять ограничения памяти на командную строку. Этот момент делайте только если понимаете, что вы делаете.

В итоге, у меня получилось так:

Установка PHPUnit на сервер

Скорее всего, если вы читаете эту статью, PHPUnit уже установлен и этот шаг можно пропустить. Единственный момент - исполняемый файл должен быть .phar, иначе ничего не запустится. Для остальных, читайте дальше.

Я выбрал наиболее простой способ установки - скачивание PHAR архива и установка его в /usr/local/bin. Собственно, заходим в консоль и делаем так:

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

Последняя строчка нужна исключительно для PhpStorm. Обратите внимание, что символьная ссылка не прокатит, проверено.

Настройка PHPUnit

Идем в настройки проекта -> PHP -> PHPUnit и жмем зеленый крестик, By remote interpreter. Выбираем наш интерпретатор.

В настройках ставим отметку у Path to phpunit.phar и в появившееся поле вводим путь к нашему файлу: /usr/local/bin/phpunit.phar

Поскольку у меня пример с Symfony2, то ставим галочку на Default configuration file и выбираем в нашем проекте файл app/phpunit.xml.dist

Получется примерно такое окно с настройками:

Запуск тестов

В случае с Symfony, щелкаем правой кнопкой на папке src и выбираем Run -> src. Если вы все сделали правильно, то запустятся тесты из ваших бандлов. В осталных случаях тесты можно запускать щалкая прямо по файлам с тестами.

Что еще почитать
Удобное переключение проектов в PhpStorm
10 лет назад
10894 просмотра
Если ты перешел на PhpStorm из SublimeText, то скорее всего скучаешь по удобному переключению проектов. Одно сочетание клавиш и вот тебе нечеткий поиск по списку всех проектов.