Laravel Sail로 테스트 데이터베이스를 생성하는 방법
소개
프로덕션 및 테스트 데이터베이스가 동일해야 하는 프로젝트에서 작업했습니다.
일부 기능은 MariaDB에서는 작동하지만 SQLite에서는 작동하지 않기 때문일 수 있습니다. 또는 일부 버그가 MySQL에는 나타나지만 PostgreSQL에는 나타나지 않습니다.
대규모 프로젝트에서 작업하는 경우 테스트 데이터베이스가 프로덕션 데이터베이스와 정확히 동일하게 작동하는지 알아야 합니다.
테스트 데이터베이스가 다르기 때문에 버그가 프로덕션에 나타나도록 허용할 수 없습니다.
Note: If the project is small, chances are you are fine using SQLite for testing.
오늘은 Laravel Sail 덕분에 현재 데이터베이스 서버에 테스트 데이터베이스를 설정하는 방법을 안내해 드리겠습니다.
시작하기 전에
이 자습서에서는 PostgreSQL을 데이터베이스로 사용합니다.
그러나 아이디어는 다른 데이터베이스와 동일합니다. 현재 데이터베이스 서버에 별도의 데이터베이스를 만듭니다.
머리말
요구 사항
데이터베이스 설정
docker-compose.yml
파일에 선언된 데이터베이스 서버를 사용하겠습니다.이 경우 PostgreSQL.
services:
pgsql:
image: 'postgres:14'
먼저 PostgreSQL의 CLI를 입력합니다.
sail psql
Note: If you are using MySQL, you can use
sail mysql
instead.
이제 새 데이터베이스를 만듭니다.
CREATE DATABASE testing;
이 데이터베이스는 애플리케이션이 사용하는 기본 데이터베이스와 분리됩니다.
PHPUnit 구성
이제 새 데이터베이스 및 데이터베이스 서버를 사용하도록
phpunit.xml
파일을 수정합니다.다음과 유사하게 끝나야 합니다.
<php>
<env name="DB_CONNECTION" value="pgsql"/>
<env name="DB_DATABASE" value="testing"/>
</php>
테스트 실행
이제 테스트를 실행하고 작동하는지 확인할 수 있습니다.
sail test --parallel
다음과 유사해야 합니다.
PASS Tests\Unit\ExampleTest
✓ example
Tests: 1 passed
Time: 0.7s
끝
그거였다.
매력처럼 작동하는 일회성 설정입니다.
자기 홍보
이 내용이 유용하다고 생각하셨다면 저를 팔로우하세요. 더 흥미로운 콘텐츠를 게시하겠습니다! 🥰
결론
축하합니다. 오늘 Laravel Sail에서 테스트 데이터베이스를 만드는 방법을 배웠습니다.
docker-compose.yml
파일을 수정하거나 추가 서비스를 생성할 필요가 없습니다.튜토리얼이 유용했는지 댓글로 알려주세요!
Reference
이 문제에 관하여(Laravel Sail로 테스트 데이터베이스를 생성하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alejandroakbal/how-to-create-a-test-database-with-laravel-sail-528d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)