Отладка Codeception-тестов и shell-скриптов

Отладка Codeception-тестов и shell-скриптов

С отладкой php-скриптов в браузере посредством Xdebug все достаточно прозрачно. Теперь необходимо разобраться с отладкой shell-скриптов на примерах acceptance-теста и обычного shell-скрипта. Для этого нам потребуется: 1) настроить удаленный CLI-интерпретатор, 2) именованную debug-конфигурацию и 3) заиметь локально codeception.phar. Разница настроек между тестом и скриптом будет только на этапе дибаг-конфигурации. Работать будем в IDE PhpStorm.

Сначала надо настроить удаленный php-интерпретатор. Для этого нам надо в Preferences → Languages & Frameworks → PHP выставить приблизительно следующие настройки.

Чтобы сформировать путь к CLI Interpreter, кликаем по кнопке с тремя точками и проваливаемся в следующее окошко. При создании именованного интерпретатора нужно выбрать вариант From Docker, Vagrant, VM, Remote… и осуществить настройки приблизительно как на этом скрине.

С интерпретатором — все. Начинаем настройку Debug Configuration. В верхнем меню кликаем Run → Edit Configuration.

Далее выбираем тип конфигурации: нам нужен PHP-скрипт — как для acceptance-теста так и для shell-скрипта.

Здесь отдельно остановимся на различиях дибаггинга тестов и shell-скриптов.

Для тестов необходимо указать путь к codeception.phar и обязательно обозначить аргументы — те самые аргументы, которые обычно указываются в консоли/терминале после php shell/tests.php. Ниже представлен вариант настройки для acceptance теста.

Для shell-скрипта все гораздо проще — надо указать полный путь к тестируемому скрипту. Например, как на следующем скриншоте.

Ну вот, пожалуй и все. Осталось только расставить брекпойнты, выбрать нужную конфигурацию из выпадающего списка и включить прослушку.

Запуск осуществляется путем клика по зеленой жукабре.