Eloquent ORM을 이용하여 아래의 데이터를 조회하기 위한 코드를 작성했습니다. A가 가진 모든 B들과 그 B들이 가진 모든 C들 중 A와 관련 있는 것만 추린 것들과 그 C들이 가진 모든 D들 그 결과 아래와 같은 코드가 …
Continue readingTag: PHP
Laravel 마이그레이션 작성시 index 존재 여부 확인하는 방법
Laravel에 테이블이나 컬럼이 존재하는지 확인하는 메소드는 있는데 index 존재 여부를 확인하는 메소드는 지원하지 않아서 다소 아쉬운 면이 있었습니다. 찾아보니 doctrine schema manager 를 사용하면 확인이 가능하더군요. Laravel로 마이그레이션 작성해보신 분들은 아래 예제 코드 보시면 바로 …
Continue readingLaravel 컨트롤러 테스트 작성 요령
테스트를 작성할 때 무엇을 테스트 할 것인지를 결정하는 것이 참 어려운 것 같습니다. Jeffrey Way 의 조언을 따르니 컨트롤러 테스트 작성에 꽤 도움이 되네요. “Controller tests should verify responses, ensure that the correct database access …
Continue readingLaravel 테스트 작성중 POST로 리퀘스트 전송시 응답으로 200이 아닌 500이 온다면
csrf 토큰 때문입니다. app/Http/Middleware/VerifyCsrfToken.php 를 public function handle($request, Closure $next) { if (‘testing’ !== app()->environment()){ return parent::handle($request, $next); } return $next($request); } 이렇게 수정해서 test 환경에서는 토큰을 확인하지 않도록 해주는 방법이 있습니다. 다른 더 좋은 …
Continue readingCodeception 을 이용한 인수테스트 기초 발표자료 공유
어제 XE 오픈 세미나에서 발표했던 자료를 공유해봅니다. ‘테스트 자동화’ 하면 뭔가 되게 어려울 것 같은 느낌이지만 막상 써보면 엄청 사용하기 쉬우니 한 번씩들 사용해보세요. 🙂
Continue readingMAMP 3.1로 업데이트 이후 Codeception 실행시 PDO 생성이 안되는 경우
엊그제까지만 해도 멀쩡히 동작하던 Codeception이 갑자기 PDO 생성이 안된다는 예외를 발생시키더군요. [CodeceptionExceptionModule] (Exception in Db) SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES) while creating PDO connection 원인은 MAMP 업데이트 였는데, 아마도 MAMP가 …
Continue readingComposer 인스톨시 Discard changes 를 자동으로 처리하는 방법
배포를 자동화하려면 composer install도 자동으로 완료되어야 합니다. composer install 을 하다보면 자주는 아니지만 가끔씩 discard-changes 에 대해 어떻게 처리를 할지 입력하도록 요구 받는데요, 이때 값을 입력해주지 않으면 더이상 패키지가 업데이트가 진행이 되지 않습니다. discard-changes 가 …
Continue reading