1. 테스트 목적
다양한 케이스 및 시나리오들을 설정하여 테스트를 하여 배포함으로써 안정적인 어플리케이션 운영을 하기 위함
2. 장/단점
3. 테스트 종류
Untitled
4. 테스트 전략
4-1) 통합테스트
- 컨트롤러 테스트를 주로 하며 요청부터 응답까지의 전체 플로우를 테스트합니다.
- @ActiveProfiles(TestProfile.TEST) 설정으로 테스트에 profile을 지정합니다. 환경별로 properties 파일을 관리하듯이 test도 반드시 별도의 properties 파일로 관리하는 것이 바람직합니다
- @Transactional 트랜잭션 어노테이션을 추가하면 테스트코드의 데이터베이스 정보가 자동으로 Rollback 됩니다.
- @Transactional을 추가하면 자연스럽게 데이터베이스 상태의존 적인 테스트를 자연스럽게 하지 않을 수 있게 됩니다.
- 실제로 동작할 필요가 없으니 @Ignore 어노테이션을 추가합니다.
4-2) Mock 테스트
- 통합 테스트를 진행하기 어려운 테스트를 진행합니다
- 외부 API 같은 Rollback 처리가 힘들거나 불가능한 테스트를 주로 사용합니다.
- 예를 들어 외부 결제 모듈 API를 콜하면 안 되는 케이스에서 주로 사용 할 수 있습니다.