PHPUnit을 PhpStorm에서 실행 with Laradock

PhpStorm에서 PHPUnit을 실행할 수 있도록 설정했으므로, 그 순서를 정리해 보았습니다.
그건 그렇고, Laradock에서 환경을 구축하고 있다고 가정합니다.

Xdebug 설치


.env(laradcok) 편집
- WORKSPACE_INSTALL_XDEBUG=false
+ WORKSPACE_INSTALL_XDEBUG=true

- PHP_FPM_INSTALL_XDEBUG=false
+ PHP_FPM_INSTALL_XDEBUG=true

xdebug.ini 편집

workspace/xdebug.ini php-fpm/xdebug.ini 설정 재작성
- xdebug.remote_host=dockerhost
+ xdebug.remote_host=host.docker.internal
- xdebug.remote_connect_back=1
+ xdebug.remote_connect_back=0
- xdebug.remote_port=9000
+ xdebug.remote_port=9001

- xdebug.remote_autostart=0
+ xdebug.remote_autostart=1
- xdebug.remote_enable=0
+ xdebug.remote_enable=1
- xdebug.cli_color=0
+ xdebug.cli_color=1

docker 이미지 재빌드

docker-compose build workspace php-fpm
이것으로 xdebug 설치가 완료되었습니다.

PhpStorm에서 설정


Docker 설정

Preferences > Build, Execution, Deployment > Docker 에서 + 를 클릭하십시오.
Name : 좋아하는 이름으로 OK입니다.
Connect to Docker daemon with : Docker for MacConnection successful 라고 표시되면 OK입니다.

Interpreter 지정

Preferences | Languages & Frameworks | PHP 에서 ・・・ 를 클릭합니다.

그런 다음 화면이 나오면 왼쪽 상단의 +를 클릭하십시오.

From Docker, Vagrant, VM, Remote...를 선택합니다.
↓ 창이 나타나면 Docker를 선택하고 Server에 방금 만든 Laradock Docker를 선택합니다. (Image name과 PHP interpreter path는 자동으로 찾아옵니다)

그리고 OK를 누르면 아래 창이 나타납니다.
내용에 실수가 없으면 OK를 누르십시오.


이 상태에서는 잘 작동하지 않으므로 경로를 변경합니다.
Docker container 열의 오른쪽에 있는 폴더 아이콘을 클릭합니다.
Container path 필드에 /var/www/src를 입력하십시오.
(펜 아이콘을 클릭하면 편집 할 수 있습니다)

PHPUnit 설정

Preferences > Languages & Frameworks > PHP > Test Frameworks 에서 + 를 클릭하고 PHPUnit By Remote Interpreter 를 선택합니다.Interpreter 에서 방금 만든 것을 선택하십시오. (나의 경우는 laradock-workspace 입니다)
PHPUnit libraryUse Composer autoloader 를 선택한다.Path to script 에는 workspace 컨테이너내의 autoload.php 를 지정한다.
버전이 표시되면 OK입니다.
그런 다음 메뉴 모음 > Run > Edit Configrations를 클릭합니다.
Defined in the configuration file를 선택하고 Use alternative configuration file를 선택하여 호스트의 laravel projrct에있는 phpunit.xml를 지정합니다.
이제 PhpStorm에서 테스트를 실행할 수 있습니다!

요약


Test 클래스에서 control + r or Command + r 를 누르면 파일의 모든 테스트 메소드가 실행됩니다.
특정 테스트 메소드를 실행하려면 control + option + r 를 눌러 메소드 이름을 선택하여 실행할 수 있다고 생각합니다.

좋은 웹페이지 즐겨찾기