GameService의 주요 메서드들에 대한 단위 테스트를 작성하여 예외 처리 및 게임 상태 관리가 정상적으로 동작하는지 검증.GameService가 올바르게 게임을 시작하는지 확인.Mockito를 사용하여 GameRepository와 Redis를 Mocking, AssertJ를 활용해 결과를 비교하여 검증.QuestionService의 문제 조회 및 문제 DTO 변환 로직을 테스트하여, 문제가 정상적으로 조회되고 변환되는지 확인.Mockito로 QuestionRepository를 Mocking하여 DB에 의존하지 않고 테스트, AssertJ로 결과를 검증.UserService의 사용자 조회, 게임 상태 확인, 점수 저장 기능을 테스트하여 유저 관리 및 점수 저장 로직이 정상적으로 동작하는지 확인.Mockito로 UserRepository와 StringRedisTemplate을 Mocking하여 DB 및 Redis에 의존하지 않게 테스트, AssertJ로 검증.이 프로젝트는 상대적으로 작은 규모의 애플리케이션으로, 데이터베이스와의 연동이 있지만
엔티티 수가 적고 API 수도 적기 때문에 서비스 테스트만으로 충분히 검증할 수 있다고 생각했다.
간단한 비즈니스 로직:
이 프로젝트는 비즈니스 로직이 서비스 계층에 집중되어 있으며, 외부 시스템과의 연동이 복잡하지 않다.
서비스 계층에서 수행하는 핵심 비즈니스 로직을 독립적으로 테스트하는 것만으로도 동작을 충분히 검증할 수 있다.
예를 들어, 유저 중복 체크, 게임 상태 변경 등의 로직은 서비스에서 직접 처리되므로, 서비스만 테스트해도 시스템 전체의 동작을 제대로 확인할 수 있다.