Laravel에 내장된 테스트 기능을 효과적으로 사용하려면 다음 단계를 따르세요.
1. Laravel의 테스트 프레임워크 사용: Laravel에는 PHPUnit이라는 내장 테스트 프레임워크가 함께 제공됩니다. 이 프레임워크는 테스트 작성을 위한 도구 및 유틸리티 세트를 제공합니다. `phpunit` 명령을 사용하여 테스트를 실행할 수 있습니다.
2. 테스트 구성: 테스트를 `tests` 디렉토리에 배치하세요. 이 디렉터리에는 'Feature'와 'Unit'이라는 두 개의 하위 디렉터리가 있습니다. 'Feature' 디렉터리는 코드의 더 많은 부분을 테스트하는 기능 테스트에 사용됩니다. 'Unit' 디렉터리는 개별 코드 단위를 테스트하는 단위 테스트에 사용됩니다.
3. 설명적인 테스트 이름 사용: 테스트에 설명적인 이름을 사용하십시오. 이렇게 하면 각 테스트가 테스트하는 내용을 더 쉽게 이해할 수 있습니다.
4. Laravel의 테스트 유틸리티 사용: Laravel은 테스트 작성에 사용할 수 있는 테스트 유틸리티 세트를 제공합니다. 이러한 유틸리티에는 각 테스트 전에 데이터베이스를 자동으로 마이그레이션하고 각 테스트 후에 변경 사항을 롤백하는 'RefreshDatabase' 특성이 포함되어 있습니다.
5. 어설션 및 도우미 사용: Laravel은 테스트를 단순화하기 위해 다양한 어설션 방법과 도우미를 제공합니다. `assertStatus()`, `assertRedirect()` 및 `assertSee()`와 같은 메서드를 사용하여 애플리케이션의 예상 동작을 확인하세요.
6. 외부 종속성 모의: Laravel의 모의 기능을 사용하여 API 호출이나 데이터베이스 상호 작용과 같은 외부 종속성을 모의합니다. 이렇게 하면 실제 종속성에 의존하지 않고 테스트 중인 특정 기능에 초점을 맞춰 테스트할 수 있습니다.
7. AAA(Arrange, Act, Assert) 패턴 사용: AAA 패턴(Arrange, Act, Assert)을 사용하여 테스트를 구성합니다. 정렬은 테스트에 필요한 전제 조건을 설정하고, Act는 테스트하려는 작업이나 작업을 수행하며, Assert는 예상한 결과나 동작이 발생했는지 확인합니다.
8. 팩토리 사용: Laravel의 팩토리를 사용하여 테스트에 사용할 가짜 데이터를 생성합니다. 팩토리를 사용하면 현실적인 데이터로 테스트 개체를 쉽게 생성할 수 있으며 테스트 시나리오 설정 프로세스를 간소화하는 데 도움이 될 수 있습니다.
9. `phpunit.xml` 파일 사용: `phpunit.xml` 파일은 테스트 환경을 구성하는 데 사용됩니다. 이 파일은 테스트를 위한 환경 변수와 데이터베이스 구성을 설정합니다.
10. 테스트 실행: `phpunit` 명령을 사용하여 테스트를 실행합니다. 새로운 테스트를 생성하기 위해 `make:test` Artisan 명령어를 사용할 수도 있습니다.
다음 단계를 수행하면 Laravel에 내장된 테스트 기능을 효과적으로 사용하여 강력하고 유지 관리 가능한 애플리케이션 테스트를 작성할 수 있습니다.
인용:[1] https://laravel-news.com/how-to-start-testing
[2] https://www.bacancytechnology.com/blog/feature-testing-in-laravel
[3] https://dev.to/tomatopotato27/best-practices-with-example-to-write-feature-test-in-laravel-1oga
[4] https://www.interserver.net/tips/kb/testing-your-laravel-applications-unit-tests-feature-tests-and-beyond/
[5] https://laravel.com/docs/6.x/testing