PhpStorm에서 Laradock 테스트 실행

경위



PHP 컨퍼런스 2018에서 Laravel에서 TDD를 경험해 보세요 #phpcon2018가 매우 좋았고 Laravel에서 TDD를하고 싶었습니다.
(특히 PhpStorm에서 Command + r로 매번 테스트 실행을 하고 싶었다.)

TDD는 리듬이 중요하다는 이야기로, 라이브 코딩으로 TDD의 리듬을 체감할 수 있는 매우 유용한 내용이었지만,
Homestead 전제였다는 것도 있어, 실제로 Laradock 환경에서 0부터 하려고 하면 설정으로 조금 빠졌다.

비망도 겸하여 PhpStorm+Laradock에서 테스트 실행하는 순서를 기재했다.

전제



PHP 프레임워크 Laravel 웹 애플리케이션 개발에 설명된 절차에 따라 Laradock 환경을 구축해야 합니다.

Laravel: 5.5.x
PhpStorm: 2018.2.5

절차



Composer로 PHPUnit 업데이트



터미널에서 프로젝트 폴더로 이동하여 php vendor/bin/phpunit를 실행합니다.
위에서 Laravel에 디폴트로 존재하는 테스트가 움직이는지 확인한다. 움직이면 문제 없음.

움직이지 않으면 다음 절차를 수행합니다.
프로젝트 폴더에서 rm -rf vendor/bin 실행 후 composer install를 실행합니다.
이제 php vendor/bin/phpunit 다시 시도하면 작동합니다.

Docker 설정



여기에서 PhpStorm에서 테스트 실행하기위한 작업.
Command+,에서 Preferences를 열고 Build, Execution, Development → Docker에서 +를 선택합니다.
자신은 Docker for Mac을 이용하고 있으므로 그쪽을 선택하면 「Connection successful」이라고 표시되었다.
「Name」은 적당.


 interpreter를 지정한다



계속해서 Preferences에서 「Languages ​​& Frameworks」→「PHP」의 「CLI Interpreter」의 오른쪽에 있는 「・・・」를 선택한다.
※화상은 설정 후의 화상 때문에, 조금 다를지도.


이하의 화면이 열리면 설정을 해 간다.
「Name」은 적당.
「Remote」로 「Docker」를 지정.
「Image Name」을 자동으로 검색해 주므로 「laradock_workspace」를 선택한다.
(laradock_php-fpm에서도 작동하는 것 같지만 어느 것이 좋을까?)

「PHP Executable」 우단의 갱신 버튼을 누르면, PHP와 Xdebug를 자동으로 찾아 준다.
버전이 표시되면 OK.


다음이 중요(라고 하는 것보다 빠졌다)로, 이대로라면 「Path Mapping」에 →/opt가 되고 있어, 다음의 PHPUnit 설정으로 문제가 발생한다.
여기서 「Docker Container」를 「-v/Users/xxx/xxx/docker/프로젝트명:/var/www/프로젝트명」으로 지정한다.
호스트측의 프로젝트 패스와 컨테이너측의 프로젝트 패스를 맞추는 작업이 된다.



PHPUnit 지정



계속해서 Preferences에서 「Languages ​​& Frameworks」→「PHP」의 「Test Frameworks」에서 「+」에서 「PHPUnit By Remote Interpreter」를 선택한다.
"Use Composer autoloader"를 선택하고 "Path to script"에 workspace 컨테이너의 전체 경로로 autoload.php로 지정한다.
PHPUnit 버전이 표시되면 OK. (여기서 오류가 발생하면 interpreter가 잘못 지정되었을 가능성이 높습니다.)


Test 실행으로 설정



마지막으로 "Run/Debug Configurations"에서 "Defined in the configuration file"을 선택하고,
호스트측 프로젝트에 있는 phpunit.xml을 지정한다.


이제 PhpStorm에서 Command + r에서 테스트를 실행할 수 있습니다.

좋은 웹페이지 즐겨찾기