목차
1. 문제 상황 분석(배포 전 코드 동작 검증)
2. 선택 가능한 기술 분석
3. 기술 선택 및 구현
1. 문제 상황 분석
- 애플리케이션 코드를 배포하기 전에 해당 코드가 잘 동작하는지 검증할 필요가 있었습니다.
이를 위해서는 성공 및 실패 시나리오에 대한 검증이 필요했고,
이러한 문제를 테스트 코드를 통해서 해결할 수 있다고 판단했습니다.
2. 선택 가능한 기술 분석 & 기술 선택 및 구현
- 크게는 컨트롤러, 서비스, 도메인에 대한 테스트를 작성했습니다.
컨트롤러는 JUnit5, Mockito를 활용한 단위 테스트와 MockMvc를 활용한 인수 테스트를 적용했고,
서비스와 도메인은 JUnit5, Mockito를 활용한 단위 테스트를 적용했습니다.
(1) 단위 테스트를 적용한 이유
- 컨트롤러나 도메인의 기본 로직, 그리고 서비스의 비즈니스 로직에 대해서
해당 로직에 대한 신뢰도를 높이기 위해서 단위 테스트를 적용했습니다.
(2) 인수 테스트를 적용한 이유
- MockMvc를 활용한 인수 테스트는 컨트롤러의 API에 대해서 적용했는데,
이는 API가 사용자 시나리오에 따라서 잘 동작하는지 검증하기 위해서 적용했습니다.
즉, 사용자가 올바른 요청을 했을 때는, 그에 따른 결과가 응답되고,
잘못된 요청을 했을 때는, 마찬가지로 그에 따른 결과가 응답되는지 확인하기 위해서 적용했습니다.
'interviewPrep 프로젝트' 카테고리의 다른 글
| Spring에서 Mysql Replication으로 Master/Slave 이중화하기 (0) | 2023.09.09 |
|---|---|
| Spring Security를 활용한 Oauth2 적용 (0) | 2022.11.02 |
| 문제 필터링 시 서버 부하를 고려한 캐시 전략 (0) | 2022.10.31 |
| 로그인 상태 유지를 위한 JWT 토큰 적용 (0) | 2022.10.31 |
| 좋아요(추천) 기능과 동시성 이슈 해결 (0) | 2022.10.31 |