인프런 커뮤니티 질문&답변

김재연님의 프로필 이미지
김재연

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링 서비스 테스트 코드에 대한 질문

해결된 질문

작성

·

222

·

수정됨

0

서비스 계층의 클래스를 테스트하려고 준비하고 있습니다.

 

mock이 너무 많으면 유지보수가 힘들어져서 MemoryRepository를 직접 구현해서 사용하라고 하던데

@DataJpaTest 어노테이션으로 Repository객체의 mock을 대신해도 될까요?

답변 1

1

안녕하세요. 김재연님, 공식 서포터즈 y2gcoder입니다.

mock이 너무 많으면 유지보수가 힘들어져서 MemoryRepository를 직접 구현해서 사용하라고 하던데

@DataJpaTest 어노테이션으로 Repository객체의 mock을 대신해도 될까요?

해당 상황이라면 @SpringBootTest + 인메모리 DB(혹은 테스트용 DB) 조합으로 사용할 수 있을 것 같은데 @DataJpaTest를 사용하고자 생각하신 이유가 있으실까요?

감사합니다.

김재연님의 프로필 이미지
김재연
질문자

단위테스트시에 @SpringBootTest를 쓰면 안된다고 알고 있어서요.

 

@DataJpaTest하면 인메모리db를 사용할 수 있기도 하고

서비스 단의 단위테스트를 위해 @DataJpaTest를 이용해서 JPA 레포지토리 설정만 자동으로 끌어오려고 하시는군요!

그렇게 해보셔도 괜찮을 것 같습니다 :)

김재연님의 프로필 이미지
김재연

작성한 질문수

질문하기