1. 사용한 기술 개념
Mockito
- Java Mocking 프레임워크로
- 외부 의존성을 모방하여 테스트를 수행하는 데 사용
@ExtendWith(MockitoExtension.class)
: Mockito와 JUnit 5를 통합하여 사용
@InjectMocks
: Mockito를 사용하여 객체를 생성하고, 모의 객체(Mock)들을 주입
@Mock
: 의존성을 모킹하여 실제 구현체 대신 테스트 시 사용할 모의 객체 생성
Mockito.verify()
, Mockito.given()
, Mockito.times()
: 메서드의 동작을 모킹하고 호출 여부 및 횟수를 검증
JUnit 5
@Nested
: 중첩된 테스트 클래스를 정의하여 관련된 테스트를 그룹화
@BeforeEach
, @Test
, @DisplayName
: 테스트 메서드와 초기 설정을 정의
AssertJ
- 자바에서 assert 방식으로 테스트 결과를 검증할 수 있는 라이브러리
assertThat
: 테스트 결과를 검증하는 메서드
2. 적용한 근거 및 목적
목적
- 실제 데이터베이스나 외부 리소스에 의존하지 않고도 가짜 객체를 만들어 테스트
- 테스트를 더 빠르고 격리된 환경에서 실행할 수 있으며, 의존성을 줄여서 테스트를 더 간단하게 만들 수 있다.