Laravel Testing for PHPStorm



Xdebug 와 PHPUnit 을 이용해 Unit / Feature 테스트를 진행하기 위해 PHPStorm 에서 디버깅 환경을 구축하는 방법입니다.

필자는 Docker 환경에서 진행했습니다.

도커 Xdebug 설치

진행하기 앞서 도커 컨테이너 환경에 Xdebug 설치를 진행해야 합니다.

RUN pecl install xdebug-3.1.5 && \
docker-php-ext-enable xdebug && \
echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.client_host = host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.client_port = 9003" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.idekey=PHPSTORM" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

https://xdebug.org/docs/upgrade_guide

PHPUnit 설치

기본적으로 Laravel 에는 Composer 설치 시 --dev 옵션을 함께주면 phpunit 이 함께 설치됩니다.

// composer.json
"require-dev": {
    . 
    .
    .
    "phpunit/phpunit": "^9.5.10" // phpunit
},

Composer install

$ composer install --dev

PHPStorm 설정

Preferences

PHP -> CLI Interpreter 더보기 클릭 (…)

Untitled


CLI Interpreters

Add (+)

Untitled


환경에 따라 로컬 혹은 Machine 선택

Docker 는 별도의 가상 머신처럼 작동하기에 원격 Interpreter를 사용합니다.

Untitled


Server 에서 Docker 선택 후 컨테이너 찾기

Untitled


PHP Version, Debugger 확인

Untitled


PHP > Test Frameworks 로 이동

Untitled


Test Frameworks 추가

PHPUnit by Remote Interpreter

Untitled


Interpreter 선택

이전에 (4, 5번) 생성된 Interpreter 선택

Untitled


PHPUnit library 확인

만약, 선택되어 있지 않다면 refresh 를 진행합니다.

Untitled


Debugging 하기

테스트 케이스 실행(Run) 및 디버깅(Debug)이 가능합니다.

Untitled

Untitled