Эффективное тестирование в PhpStorm

В этом выпуске мы покажем, как PhpStorm работает с тестовыми фреймворками: PHPUnit, Pest, Behat, Codeception и PHPSpec. Вы научитесь запускать тесты прямо в IDE, анализировать результаты, автоматически перезапускать тесты в режиме наблюдения и легко создавать тестовые файлы.

О чем это видео

Я не буду читать вам лекции на тему того, почему тестирование важно, — просто покажу, как PhpStorm упрощает этот процесс. Какой бы фреймворк вы ни использовали — PHPUnit, Pest, Behat, Codeception или PHPSpec — PhpStorm поддерживает их все.

Допустим, у вас уже есть набор тестов. Вместо того чтобы запускать их через терминал, просто выберите папку с тестами в PhpStorm и нажмите Control+Shift+R. Можно делать то же самое с вложенными папками, отдельными классами или конкретными тестовыми методами. Чтобы перезапустить тесты из любой части кода, просто нажмите Control+R. Все эти функции также доступны в меню Shift+Shift: введите в поиске Run, и появятся все нужные опции.

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

Кроме того, PhpStorm поддерживает отображение покрытия тестами, чтобы вы могли видеть, какие строки кода еще не протестированы. В IDE будут подсказки, которые покажут места, требующие внимания.

Идем дальше. Одна из моих любимых функций IDE: PhpStorm умеет генерировать тестовые файлы. В любом файле нажмите Shift+Shift и найдите Go To Test. Если тестовый файл для класса уже есть, PhpStorm откроет его, а если нет — создаст новый.

Это работает и в обратную сторону — от теста к коду. Используйте то же шорткат, Shift+Shift, и найдите Go To Test Subject.

Не буду отрицать, что писать тесты бывает утомительно. Особенно когда нужно настроить первый тестовый класс. PhpStorm может генерировать целые тестовые классы с помощью искусственного интеллекта, если у вас есть соответствующая лицензия и установлен плагин AI Assistant. Нажмите Alt+Enter на любом классе, выберите AI Actions и Generate Tests. AI Assistant предложит черновик тестов, который можно доработать под себя. Это реальная экономия времени.

Хорошего тестирования!